elminator-0.0.0.0: Generate ELM types/encoders/decoders from Haskell types.

Safe HaskellNone
LanguageHaskell2010

Elminator

Synopsis

Documentation

include :: ToHType a => Proxy a -> GenOption -> Builder Source #

Include the elm source for the Haskell type specified by the proxy argument. The second argument decides which components will be included and if the generated type will be polymorphic.

data ElmVersion Source #

Specify Elm version to generate code for

Constructors

Elm19 

data HType Source #

Constructors

HUDef UDefData 
HMaybe HType 
HList HType 
HPrimitive MData 
HRecursive MData 
HExternal ExInfo [HType] 
Instances
Show HType Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

showsPrec :: Int -> HType -> ShowS #

show :: HType -> String #

showList :: [HType] -> ShowS #

class ToHType f where Source #

Minimal complete definition

Nothing

Methods

toHType :: Proxy f -> HState HType Source #

toHType :: (ToHTArgs (ExtractTArgs f), Generic f, ToHType_ (Rep f)) => Proxy f -> HState HType Source #

Instances
ToHType Bool Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy Bool -> HState HType Source #

ToHType Char Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy Char -> HState HType Source #

ToHType Float Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy Float -> HState HType Source #

ToHType Int Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy Int -> HState HType Source #

ToHType () Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy () -> HState HType Source #

ToHType a => ToHType [a] Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy [a] -> HState HType Source #

ToHType a => ToHType (Maybe a) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (Maybe a) -> HState HType Source #

(ToHType a, ToHType b) => ToHType (Either a b) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (Either a b) -> HState HType Source #

(ToHType a1, ToHType a2) => ToHType (a1, a2) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2) -> HState HType Source #

(ToHType a1, ToHType a2, ToHType a3) => ToHType (a1, a2, a3) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2, a3) -> HState HType Source #

(ToHType a1, ToHType a2, ToHType a3, ToHType a4) => ToHType (a1, a2, a3, a4) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2, a3, a4) -> HState HType Source #

(ToHType a1, ToHType a2, ToHType a3, ToHType a4, ToHType a5) => ToHType (a1, a2, a3, a4, a5) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2, a3, a4, a5) -> HState HType Source #

(ToHType a1, ToHType a2, ToHType a3, ToHType a4, ToHType a5, ToHType a6) => ToHType (a1, a2, a3, a4, a5, a6) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2, a3, a4, a5, a6) -> HState HType Source #

(ToHType a1, ToHType a2, ToHType a3, ToHType a4, ToHType a5, ToHType a6, ToHType a7) => ToHType (a1, a2, a3, a4, a5, a6, a7) Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

toHType :: Proxy (a1, a2, a3, a4, a5, a6, a7) -> HState HType Source #

data ExItem Source #

Constructors

ExItem 
Instances
Eq ExItem Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

(==) :: ExItem -> ExItem -> Bool #

(/=) :: ExItem -> ExItem -> Bool #

Show ExItem Source # 
Instance details

Defined in Elminator.Generics.Simple

data ExInfo Source #

Constructors

ExInfo 
Instances
Eq ExInfo Source # 
Instance details

Defined in Elminator.Generics.Simple

Methods

(==) :: ExInfo -> ExInfo -> Bool #

(/=) :: ExInfo -> ExInfo -> Bool #

Show ExInfo Source # 
Instance details

Defined in Elminator.Generics.Simple

type Builder = State GenConfig () Source #

data GenOption Source #

Decides which among type definiton, encoder and decoder will be included for a type. The poly config value decides wether the included type definition will be poly morphic.

Instances
Show GenOption Source # 
Instance details

Defined in Elminator.Lib

data PolyConfig Source #

Decides wether the type definition will be polymorphic.

Constructors

Mono 
Poly 
Instances
Show PolyConfig Source # 
Instance details

Defined in Elminator.Lib