summaryrefslogtreecommitdiff
path: root/compiler/Language/Haskell/Syntax/Expr.hs-boot
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Language/Haskell/Syntax/Expr.hs-boot')
-rw-r--r--compiler/Language/Haskell/Syntax/Expr.hs-boot22
1 files changed, 22 insertions, 0 deletions
diff --git a/compiler/Language/Haskell/Syntax/Expr.hs-boot b/compiler/Language/Haskell/Syntax/Expr.hs-boot
new file mode 100644
index 0000000000..3ea7e32708
--- /dev/null
+++ b/compiler/Language/Haskell/Syntax/Expr.hs-boot
@@ -0,0 +1,22 @@
+{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE RoleAnnotations #-}
+{-# LANGUAGE TypeFamilies #-}
+
+-- See Note [Language.Haskell.Syntax.* Hierarchy] for why not GHC.Hs.*
+module Language.Haskell.Syntax.Expr where
+
+import Language.Haskell.Syntax.Extension ( XRec )
+import Data.Kind ( Type )
+
+type role HsExpr nominal
+type role MatchGroup nominal nominal
+type role GRHSs nominal nominal
+type role HsSplice nominal
+data HsExpr (i :: Type)
+data HsSplice (i :: Type)
+data MatchGroup (a :: Type) (body :: Type)
+data GRHSs (a :: Type) (body :: Type)
+type family SyntaxExpr (i :: Type)
+
+type LHsExpr a = XRec a (HsExpr a)