Guardando nel file *.prof
generato usando +RTS -p
con la compilazione profiling abilitato, vedo un sacco di questi sub-routine che prende il nome \
:Perché ci sono così tanti backslash () nel file * .prof?
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
che sembra criptico per me. Cosa rappresentano?
Quindi, questi sono barre rovesciate, sono lambda sotto mentite spoglie. Interessante. – chi
@chi: Nemmeno un travestimento dato che questa è la sintassi che normalmente abbiamo per lambda :). –
Grazie per l'ottima risposta. In una nota a margine, mi sono reso conto che il '. (...)' dopo alcuni '. /' Rappresenta un'istruzione let con la corrispondenza del modello (il che significa che implica il calcolo). Ad esempio, quando dici 'let (a, b) = myFunc' o' let Just x = lookup ... 'ecc. – trVoldemort