pub fn eval_letrec(
cx: &mut Cx,
outer: &LexicalEnv,
bindings: Vec<(Symbol, BindingInitializer)>,
body: impl FnOnce(&mut Cx, &LexicalEnv) -> Result<Value>,
) -> Result<Value>Expand description
Evaluates a letrec form: mutually recursive bindings in a child scope.
All names are predefined before any initializer runs, so each
BindingInitializer may reference every binding in the frame (including
itself and later ones), enabling mutual recursion.