@@ -226,12 +226,14 @@ ifHelp branches =
226226
227227lambdaExpr :: IParser Source.Expr
228228lambdaExpr =
229− do char '\\' <|> char '\x03BB' <?> "an anonymous function"
229+ do start <- getMyPosition
230+ char '\\' <|> char '\x03BB' <?> "an anonymous function"
230231 whitespace
231232 args <- spaceSep1 Pattern.term
232233 padded rightArrow
233234 body <- expr
234− return (makeFunction args body)
235+ end <- getMyPosition
236+ return (foldr (\a b -> A.at start end $ E.Lambda a b) body args)
235237
236238
237239caseExpr :: IParser Source.Expr'