elm-in-elm/compiler/1.0.0

NOTE: the latest version is 1.0.1

Elm.AST.Typed.Unwrapped

Version of Typed AST without the location info.

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

Convert to it using the Elm.AST.Typed.unwrap.

type alias Expr =
( Expr_, Type )
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

Note this type recurses not on itself but on Expr (so that children also hold type information).