elm-in-elm/compiler/1.0.1

Elm.AST.Canonical.Unwrapped

Version of Canonical AST without the location info.

Handy for type inference fuzzers, or when you don't need the location info.

Convert to it using the Elm.AST.Canonical.unwrap and from it using Elm.AST.Canonical.fromUnwrapped (beware, uses dummy location data!).

type Expr
= Int Int
| Float Float
| Char Char
| String String
| Bool Bool
| Var
{ module_ : ModuleName
, name : VarName
}
| Argument VarName
| Plus Expr Expr
| Cons Expr Expr
| Lambda
{ argument : VarName
, body : Expr
}
| Call
{ fn : Expr
, argument : Expr
}
| If
{ test : Expr
, then_ : Expr
, else_ : Expr
}
| Let
{ bindings : Dict VarName (Binding Expr)
, body : Expr
}
| List (List Expr)
| Unit
| Tuple Expr Expr
| Tuple3 Expr Expr Expr