Warry/elm-stuff/1.0.0

ElmStuff.Canonical

Types

type Alias
= Alias (List Name) Type

Desc

type alias Canonical =
{ package : PackageName
, module_ : Name
}
type alias Union =
{ u_vars : List Name
, u_alts : List Ctor
, u_numAlts : Int
, u_opts : CtorOpts
}
type Ctor
= Ctor Name ZeroBased Int (List Type)
= Normal
| Enum
| Unbox
= Forall FreeVars Type
type alias FreeVars =
Dict Name ()
type Type
= TLambda Type Type
| TVar Name
| TType Canonical Name (List Type)
| TRecord (Dict Name FieldType) (Maybe Name)
| TUnit
| TTuple Type Type (Maybe Type)
| TAlias Canonical Name (List ( Name, Type )) AliasType
= Holey Type
| Filled Type
= FieldType Word16 Type
type alias PackageName =
{ author : Name
, project : Name
}
type alias PackageCanonical =
{ name : Name
, package : PackageName
}
type alias Version =
{ major : Word16
, minor : Word16
, patch : Word16
}

Decoders

binAlias : Decoder Alias
binCanonical : Decoder Canonical
binUnion : Decoder Union
binCtor : Decoder Ctor
binFreeVars : Decoder FreeVars
binType : Decoder Type
binPackageName : Decoder PackageName
binPackageCanonical : Decoder PackageCanonical
binVersion : Decoder Version