2012-08-10 12 views

risposta

16

Secondo il rapporto Haskell, section 3.12:

Lasciate espressioni hanno la forma generale sia {d1; ...; dn} in e, e introdurre un elenco di dichiarazioni annidate, con scope lessicale, reciprocamente ricorsive (let viene spesso chiamato letrec in altre lingue). L'ambito delle dichiarazioni è l'espressione e e il lato destro delle dichiarazioni.

(sottolineatura mia)

Così nella seconda let, dove x = x * x, tutti x s riferiscono allo stesso legame, nessuno si riferiscono alla esterno x = 4 vincolante.

+1

Rispondi alla tua domanda: bello! ^^ –