diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2016-08-29 09:47:56 -0400 |
---|---|---|
committer | Ryan Scott <ryan.gl.scott@gmail.com> | 2016-08-29 09:47:56 -0400 |
commit | 983f6609b68bf4cef0a5c94cd5568673cab3a6cf (patch) | |
tree | d9a2ed5c025e59c176a1e6bd15c9ab5d9e54aba6 /compiler/deSugar/DsMeta.hs | |
parent | ca8c0e279a87d93c1fb10460c24ef35a9080238f (diff) | |
download | haskell-983f6609b68bf4cef0a5c94cd5568673cab3a6cf.tar.gz |
Template Haskell support for TypeApplications
Summary: Fixes #12530.
Test Plan: make test TEST=12530
Reviewers: austin, bgamari, hvr, goldfire
Reviewed By: goldfire
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2472
GHC Trac Issues: #12530
Diffstat (limited to 'compiler/deSugar/DsMeta.hs')
-rw-r--r-- | compiler/deSugar/DsMeta.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/deSugar/DsMeta.hs b/compiler/deSugar/DsMeta.hs index 4dd0789e23..638d9b468b 100644 --- a/compiler/deSugar/DsMeta.hs +++ b/compiler/deSugar/DsMeta.hs @@ -1124,6 +1124,9 @@ repE (HsLamCase (MG { mg_alts = L _ ms })) ; core_ms <- coreList matchQTyConName ms' ; repLamCase core_ms } repE (HsApp x y) = do {a <- repLE x; b <- repLE y; repApp a b} +repE (HsAppType e t) = do { a <- repLE e + ; s <- repLTy (hswc_body t) + ; repAppType a s } repE (OpApp e1 op _ e2) = do { arg1 <- repLE e1; @@ -1853,6 +1856,9 @@ repLit (MkC c) = rep2 litEName [c] repApp :: Core TH.ExpQ -> Core TH.ExpQ -> DsM (Core TH.ExpQ) repApp (MkC x) (MkC y) = rep2 appEName [x,y] +repAppType :: Core TH.ExpQ -> Core TH.TypeQ -> DsM (Core TH.ExpQ) +repAppType (MkC x) (MkC y) = rep2 appTypeEName [x,y] + repLam :: Core [TH.PatQ] -> Core TH.ExpQ -> DsM (Core TH.ExpQ) repLam (MkC ps) (MkC e) = rep2 lamEName [ps, e] |