diff options
author | Alan Zimmerman <alan.zimm@gmail.com> | 2017-11-12 21:56:16 +0200 |
---|---|---|
committer | Alan Zimmerman <alan.zimm@gmail.com> | 2017-11-14 23:14:49 +0200 |
commit | 47ad6578ea460999b53eb4293c3a3b3017a56d65 (patch) | |
tree | 32b57723605cdd983a4d1cc5968a62a3ea8f2dc8 /compiler/deSugar/DsExpr.hs | |
parent | f57000014e5c27822c9c618204a7b3fe0cb0f158 (diff) | |
download | haskell-47ad6578ea460999b53eb4293c3a3b3017a56d65.tar.gz |
TTG3 Combined Step 1 and 3 for Trees That Grow
Further progress on implementing Trees that Grow on hsSyn AST.
See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
Trees that grow extension points are added for
- Rest of HsExpr.hs
Updates haddock submodule
Test Plan: ./validate
Reviewers: bgamari, shayan-najd, goldfire
Subscribers: goldfire, rwbarton, thomie, mpickering
Differential Revision: https://phabricator.haskell.org/D4186
Diffstat (limited to 'compiler/deSugar/DsExpr.hs')
-rw-r--r-- | compiler/deSugar/DsExpr.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/deSugar/DsExpr.hs b/compiler/deSugar/DsExpr.hs index 42c84557b7..bba301c7ac 100644 --- a/compiler/deSugar/DsExpr.hs +++ b/compiler/deSugar/DsExpr.hs @@ -369,11 +369,12 @@ ds_expr _ (ExplicitTuple _ tup_args boxity) -- another lambda in the desugaring. = do { lam_var <- newSysLocalDsNoLP ty ; return (lam_var : lam_vars, Var lam_var : args) } - go (lam_vars, args) (L _ (Present expr)) + go (lam_vars, args) (L _ (Present _ expr)) -- Expressions that are present don't generate -- lambdas, just arguments. = do { core_expr <- dsLExprNoLP expr ; return (lam_vars, core_expr : args) } + go _ (L _ (XTupArg {})) = panic "ds_expr" ; dsWhenNoErrs (foldM go ([], []) (reverse tup_args)) -- The reverse is because foldM goes left-to-right |