Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data Expression v Source #
Var v | |
Global Qualified | |
App (Expression v) (Expression v) | |
Let (Expression v) (Scope () Expression v) | |
Lam (Scope () Expression v) | |
Record [(Field, Expression v)] | |
Proj Field | |
Case (Expression v) [(Pattern Int, Scope Int Expression v)] | |
List [Expression v] | |
String !Text | |
Int !Integer | |
Float !Double |
Instances
bind :: forall v v'. (Qualified -> Expression v') -> (v -> Expression v') -> Expression v -> Expression v' Source #
apps :: Foldable f => Expression v -> f (Expression v) -> Expression v Source #
appsView :: Expression v -> (Expression v, [Expression v]) Source #
if_ :: Expression v -> Expression v -> Expression v -> Expression v Source #
(|>) :: Expression v -> Expression v -> Expression v Source #
(<|) :: Expression v -> Expression v -> Expression v Source #
(<<) :: Expression v -> Expression v -> Expression v Source #
(>>) :: Expression v -> Expression v -> Expression v Source #
(++) :: Expression v -> Expression v -> Expression v Source #
tuple :: Expression v -> Expression v -> Expression v Source #
lets :: Eq b => [(b, Expression v)] -> Scope b Expression v -> Expression v Source #
foldMapGlobals :: Monoid m => (Qualified -> m) -> Expression v -> m Source #