on master help sign in
Merge pull request #1116 from elm-lang/dev
ae57b32Evan Czaplicki
src/Optimize/DecisionTree.hs+3−3
@@ -209,9 +209,9 @@ flatten variantDict pathPattern@(path, A.A ann pattern) =
209 [pathPattern]
209 [pathPattern]
210
210
211 P.Alias alias realPattern ->
211 P.Alias alias realPattern ->
212− [ (add path Alias, A.A ann (P.Var alias))
212+ (add path Alias, A.A ann (P.Var alias))
213+ :
213− , (path, realPattern)
214+ flatten variantDict (path, realPattern)
214− ]
215
215
216 P.Record _ ->
216 P.Record _ ->
217 [pathPattern]
217 [pathPattern]
src/Parse/Expression.hs+4−2
@@ -226,12 +226,14 @@ ifHelp branches =
226
226
227lambdaExpr :: IParser Source.Expr
227lambdaExpr :: IParser Source.Expr
228lambdaExpr =
228lambdaExpr =
229+ do start <- getMyPosition
229− do char '\\' <|> char '\x03BB' <?> "an anonymous function"
230+ char '\\' <|> char '\x03BB' <?> "an anonymous function"
230 whitespace
231 whitespace
231 args <- spaceSep1 Pattern.term
232 args <- spaceSep1 Pattern.term
232 padded rightArrow
233 padded rightArrow
233 body <- expr
234 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)
235
237
236
238
237caseExpr :: IParser Source.Expr'
239caseExpr :: IParser Source.Expr'