K
let тоже создаёт замыкание.Size: a a a
K
let тоже создаёт замыкание.K
open (object, expr), то let можно выразить через него.K
МБ
let x = V in E - это (если без рекурсии), просто (\x -> E) VK
МБ
K
open(V as x, E)K
shadows?let
a = 2
in
let
a = 3
in
...
let
a = 2
in
let
shadows a = 3
in
...
МБ
let можно так выразить, но тогда начнётся беда с рекурсиями, поэтому для модулей и делают специальный open.K
МБ
K
K
shadows a doesn't shadow anythingМБ
K
... intro a
let a = ... a ...
K
K
K
МБ
K
init() при прогрузке модуля и т.д...