Antaa
Let-lauseketta voidaan käyttää arvon sieppaamiseen muuttujan välilaskelmasta.
let-expression:
let
variable-list in
lauseke
variable-list:
muuttuja
variable variable-list ,
muuttuja:
variable-name-lauseke =
variable-name:
tunniste
Seuraavassa esimerkissä näytetään keskiarvotulokset, jotka lasketaan ja tallennetaan muuttujissa x
, y
ja z
, joita käytetään myöhemmin laskennassa x + y + z
:
let x = 1 + 1,
y = 2 + 2,
z = y + 1
in
x + y + z
Tämän lausekkeen tulos on:
11 // (1 + 1) + (2 + 2) + (2 + 2 + 1)
Seuraava pätee, kun arvioidaan lausekkeita let-expression:
Muuttujaluetteloiden lausekkeissa määritetään uusi vaikutusalue, joka sisältää tunnisteet variable-list-tuotannossa , ja niiden on oltava olemassa arvioitaessa lausekkeita variable-list-tuotannoissa . Lausekkeet variable-list-luettelossa saattavat viitata toisiinsa.
Lausekkeet variable-list-luettelossa on arvioitava ennen kuin let-expression-lauseke arvioidaan.
Ellei variable-list-lausekkeita voi käyttää, niitä ei saa arvioida.
Virheet, jotka ilmenevät lausekkeiden let-expression arvioinnin aikana, välitetään.
Let-lauseketta voidaan pitää syntaktisena sokerina implisiittisen tietuelausekkeen yli. Seuraava lauseke vastaa yllä olevaa esimerkkiä:
[ x = 1 + 1,
y = 2 + 2,
z = y + 1,
result = x + y + z
][result]