Use Cabal directly in place of ghc-cabal + make build root configurable (#531)
[hadrian.git] / src / Expression / Type.hs
1 module Expression.Type where
2
3 import Context.Type
4 import Way.Type
5
6 import {-# SOURCE #-} Builder
7 import qualified Hadrian.Expression as H
8
9 -- | @Expr a@ is a computation that produces a value of type @Action a@ and can
10 -- read parameters of the current build 'Target'.
11 type Expr a = H.Expr Context Builder a
12
13 -- | The following expressions are used throughout the build system for
14 -- specifying conditions ('Predicate'), lists of arguments ('Args'), 'Ways'
15 -- and 'Packages'.
16 type Predicate = H.Predicate Context Builder
17 type Args = H.Args Context Builder
18 type Ways = Expr [Way]