Hagy
A let kifejezéssel egy változó köztes számításából származó értéket rögzíthet.
let-expression:
let
változólista in
kifejezés
változólista:
változó
változó ,
változólistája
változó:
változónév =
kifejezés
változó neve:
azonosító
Az alábbi példa azt mutatja be, hogy a köztes eredményeket változókban számítják ki és tárolják x
, y
majd z
egy későbbi számításban x + y + z
használják őket:
let x = 1 + 1,
y = 2 + 2,
z = y + 1
in
x + y + z
A kifejezés eredménye a következő:
11 // (1 + 1) + (2 + 2) + (2 + 2 + 1)
A let-kifejezésen belüli kifejezések kiértékelésekor az alábbiak érvényesek:
A változólistában szereplő kifejezések egy új hatókört határoznak meg, amely a változólista éles környezetéből származó azonosítókat tartalmazza, és jelen kell lenniük a változólista éles környezeteiben lévő kifejezések kiértékelésekor. A változólistában szereplő kifejezések egymásra hivatkozhatnak.
A változólistában lévő kifejezéseket a let-kifejezés kifejezésének kiértékelése előtt ki kell értékelni.
Hacsak nem férnek hozzá a változólistában szereplő kifejezésekhez, azokat nem szabad kiértékelni.
A let-kifejezésben lévő kifejezések kiértékelése során felmerülő hibák propagálása megtörténik.
A let kifejezés úgy tekinthető, mint szintaktikai cukor egy implicit rekordkifejezésen keresztül. A következő kifejezés egyenértékű a fenti példával:
[ x = 1 + 1,
y = 2 + 2,
z = y + 1,
result = x + y + z
][result]