MCPcopy Create free account
hub / github.com/agenticsorg/lean-agentic / parse_lambda_expr

Method parse_lambda_expr

leanr-syntax/src/parser.rs:356–368  ·  view source on GitHub ↗

Parse lambda: fun x => body

(&mut self)

Source from the content-addressed store, hash-verified

354
355 /// Parse lambda: fun x => body
356 fn parse_lambda_expr(&mut self) -> crate::Result<Expr> {
357 if self.check(&TokenKind::Fun) || self.check(&TokenKind::Lambda) {
358 let start = self.advance().span;
359 let params = self.parse_lambda_params()?;
360 self.expect(TokenKind::FatArrow)?;
361 let body = Box::new(self.parse_expr()?);
362 let span = start.to(body.span());
363
364 Ok(Expr::Lam { span, params, body })
365 } else {
366 self.parse_let_expr()
367 }
368 }
369
370 /// Parse lambda parameters (simpler than def params)
371 fn parse_lambda_params(&mut self) -> crate::Result<Vec<Param>> {

Callers 1

parse_forall_exprMethod · 0.80

Calls 8

parse_lambda_paramsMethod · 0.80
expectMethod · 0.80
parse_exprMethod · 0.80
toMethod · 0.80
spanMethod · 0.80
parse_let_exprMethod · 0.80
checkMethod · 0.45
advanceMethod · 0.45

Tested by

no test coverage detected