ЮБ
Size: a a a
ЮБ
ΛВ
NV
.
.
VG
.
EB
АК
.
.
АК
.
EB
АК
EB
АК
AH
async {
let! result = getAsync()
do! saveAsync result
return result
}
ync {Можно в этот контекст добавить ленивости вычислений, можно заставить весь контекст возвращать не результат а АСТ и трансформить его в другой язык на лету
for x in xs do // здесь for переопределен таким образом что он чекает отмену контекста на каждой итерации и отменит весь блок сам. Никакого бойлерплейта
do! someLongActionAsync()
}
y {короче, там можно творить любую дичь в F#
for student in db.Student do
where (student.StudentID = 1)
select student
exactlyOne
} // на выходе здесь AST, которое превращается в любой квери
ну
.
АК