Тем, что это не любое выражение
То есть это выражение на уровне значений ?..
Функция на типах это, например, выражение как самостоятельный синтаксический объект, но не терм, а э-э типовый терм
У Вас объявления могут быть выражениями, но не термами, потому что не вычисляются ни в какое значение сами по себе.
Хм, выражение вычисляется в значение. Объявление не может быть самостоятельным выражением. В Ast выражений объявление обычно дефайнят | Let of bindings: (name * Expr) list * expr: Expr
Только что определили, что термы вычисляются в значения. При этом объявления могут вычисляться во что-то, а могут не вычисляться — зависит от языка.
Обсуждают сегодня