| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Language.PureScript.Bridge
- bridgeSumType :: TypeBridge -> SumType -> SumType
- defaultBridge :: TypeBridge
- writePSTypes :: TypeBridge -> FilePath -> [SumType] -> IO ()
Documentation
bridgeSumType :: TypeBridge -> SumType -> SumType Source
Translate leaf types in a sum type to match PureScript types.
defaultBridge :: TypeBridge Source
Default bridge for mapping primitive/common types: You can append your own bridges like this:
defaultBridge <|> myBridge1 <|> myBridge2
Find examples for bridge definitions in Language.PureScript.Bridge.Primitives and Language.PureScript.Bridge.Tuple.
writePSTypes :: TypeBridge -> FilePath -> [SumType] -> IO () Source
Your entry point to this library and quite likely all you will need. Make sure all your types derive Generic and Typeable. Typeable is not needed from ghc-7.10 on.
Then list all your types you want to use in PureScript and call writePSTypes:
let myTypes = [
toSumType (Proxy :: Proxy MyType1)
, toSumType (Proxy :: Proxy MyType2)
]
writePSTypes defaultBridge "path/to/your/purescript/project" myTypesYou can define your own type bridges based on defaultBridge:
myBridge = 'defaultBridge' <|> mySpecialTypeBridge
and use it with writePSTypes:
writePSTypes myBridge "path/to/your/purescript/project" myTypes
Find examples for implementing your own type bridges in: Language.PureScript.Bridge.Primitives.
Real world usage example:
A real world use case of this library can be found here.
WARNING:
This function overwrites files - make backups or use version control!