From fbc21222715f1203ef559a39537c7fc44f68740a Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 19 Aug 2024 18:33:25 -0400 Subject: [PATCH] xo-reader: wip: push/pop env frames for lambdas --- src/reader/lambda_xs.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/reader/lambda_xs.cpp b/src/reader/lambda_xs.cpp index a134a23d..00fb5c0e 100644 --- a/src/reader/lambda_xs.cpp +++ b/src/reader/lambda_xs.cpp @@ -45,6 +45,9 @@ namespace xo { if (lmxs_type_ == lambdastatetype::lm_1) { this->lmxs_type_ = lambdastatetype::lm_2; this->argl_ = argl; + + p_psm->push_envframe(envframe(argl)); + expect_expr_xs::start(p_psm); } else { exprstate::on_formal_arglist(argl, p_psm); @@ -76,6 +79,8 @@ namespace xo { rp lm = Lambda::make(name, argl_, body_); + p_psm->pop_envframe(); + p_psm->top_exprstate().on_expr(lm, p_psm); p_psm->top_exprstate().on_semicolon_token(tk, p_psm);