summaryrefslogtreecommitdiff
path: root/hadrian/src/Expression
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-10-23 14:20:13 -0400
committerBen Gamari <ben@smart-cactus.org>2018-10-23 14:20:13 -0400
commit94756201349685a34c4495addd3484fdfcc8b498 (patch)
treefd4a9cee20d3c2b79f56ded7e02fb0c01b26b6c9 /hadrian/src/Expression
parent575b35f4cdc18045bccd42d341d6f25d95c0696c (diff)
parent45f3bff7016a2a0cd9a5455a882ced984655e90b (diff)
downloadhaskell-94756201349685a34c4495addd3484fdfcc8b498.tar.gz
Add 'hadrian/' from commit '45f3bff7016a2a0cd9a5455a882ced984655e90b'
git-subtree-dir: hadrian git-subtree-mainline: 575b35f4cdc18045bccd42d341d6f25d95c0696c git-subtree-split: 45f3bff7016a2a0cd9a5455a882ced984655e90b
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]