Patrząc w pliku *.prof
generowane przy użyciu +RTS -p
z profilowania włączony kompilacji, widzę wiele z tych sub-rutyny, że nazwie \
:Dlaczego w pliku * .prof jest tyle odwróconych ukośników ()?
COST CENTRE MODULE %time %alloc
main.\.\.\ Main 74.1 85.8
unstreamChunks/inner Data.Text.Internal.Lazy.Fusion 11.9 8.6
inverseLetters.\ Main 4.5 1.7
main.\.\.\.(...) Main 2.9 1.0
main.\.\.\.(...) Main 2.8 1.0
unstreamChunks/resize Data.Text.Internal.Lazy.Fusion 1.2 0.8
unstreamChunks/outer Data.Text.Internal.Lazy.Fusion 1.1 0.5
który wygląda tajemnicze dla mnie. Co one reprezentują?
Więc nie są to backslashy, są lambdas w przebraniu. Ciekawy. – chi
@chi: To nie jest zwykłe przebranie, ponieważ taka jest składnia lambdas :). –
Dzięki za wspaniałą odpowiedź. Na marginesie zdałem sobie sprawę, że '. (...)' po niektórych '. /' Reprezentuje instrukcję let z dopasowaniem wzorca (co oznacza, że wymaga obliczeń). Na przykład, gdy powiesz 'let (a, b) = myFunc' lub' let Just x = lookup ... 'itd. – trVoldemort