public string VisitLambdaExpr(Expr.Lambda expr) { string parameters = string.Join(", ", expr.Parameter.Select(p => p.Lexeme)); string body = string.Join(" ", expr.Body.SelectMany(s => PrintStmt(s))); return($"fun ({parameters}) {{ {body} }}"); }
public Value Visit(Expr.Lambda lam) { return(new Value.VLambda(_env, lam.Arg, lam.Body, lam.Span)); }
public Token visitLambdaFunction(Expr.Lambda lambdaFunction) { return(lambdaFunction.keyword); }
public object VisitLambdaExpr(Expr.Lambda expr) { return(new LoxLambda(expr, _environment)); }
internal LoxLambda(Expr.Lambda declaration, Environment closure) { _closure = closure; _declaration = declaration; }
public LoxVoid VisitLambdaExpr(Expr.Lambda lambda) { ResolveFunction(lambda.Parameter, lambda.Body, FunctionType.Function); return(null); }