elm-in-elm / compiler / 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 Basics.Int
    | Float Basics.Float
    | Char Char
    | String String
    | Bool Basics.Bool
    | Var ({ module_ : Elm.Data.ModuleName.ModuleName, name : Elm.Data.VarName.VarName })
    | Argument Elm.Data.VarName.VarName
    | Plus Expr Expr
    | Cons Expr Expr
    | Lambda ({ argument : Elm.Data.VarName.VarName, body : Expr })
    | Call ({ fn : Expr, argument : Expr })
    | If ({ test : Expr, then_ : Expr, else_ : Expr })
    | Let ({ bindings : Dict Elm.Data.VarName.VarName (Elm.Data.Binding.Binding Expr), body : Expr })
    | List (List Expr)
    | Unit
    | Tuple Expr Expr
    | Tuple3 Expr Expr Expr