summaryrefslogtreecommitdiff
path: root/hadrian/src/Expression
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Expression')
-rw-r--r--hadrian/src/Expression/Type.hs18
1 files changed, 18 insertions, 0 deletions
diff --git a/hadrian/src/Expression/Type.hs b/hadrian/src/Expression/Type.hs
new file mode 100644
index 0000000000..b5b0138f0a
--- /dev/null
+++ b/hadrian/src/Expression/Type.hs
@@ -0,0 +1,18 @@
+module Expression.Type where
+
+import Context.Type
+import Way.Type
+
+import Builder
+import qualified Hadrian.Expression as H
+
+-- | @Expr a@ is a computation that produces a value of type @Action a@ and can
+-- read parameters of the current build 'Target'.
+type Expr a = H.Expr Context Builder a
+
+-- | The following expressions are used throughout the build system for
+-- specifying conditions ('Predicate'), lists of arguments ('Args'), 'Ways'
+-- and 'Packages'.
+type Predicate = H.Predicate Context Builder
+type Args = H.Args Context Builder
+type Ways = Expr [Way]