Copyright | Plow Technologies 2017 |
---|---|
License | BSD3 |
Maintainer | [email protected] |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
OCaml.BuckleScript.Internal.Module
Description
Synopsis
- data OCamlModule (modules :: [Symbol])
- data OCamlSubModule (subModules :: Symbol)
- data OCamlTypeInFile a (filePath :: Symbol)
- data HaskellTypeName (name :: Symbol) a
- data EmbeddedOCamlFiles = EmbeddedOCamlFiles {}
- class HasOCamlType api where
- class HasEmbeddedFile api where
Documentation
data OCamlModule (modules :: [Symbol]) Source #
An OCamlModule as a Haskell type. File level modules
is relative to a
root directory prvoiided in the mkPackage
function.
Instances
(SingI modules, HasOCamlTypeMetaData' api) => HasOCamlTypeMetaData (OCamlModule modules :> api :: Type) Source # | single module |
Defined in OCaml.BuckleScript.Internal.Package Methods mkOCamlTypeMetaData :: Proxy (OCamlModule modules :> api) -> Map HaskellTypeMetaData OCamlTypeMetaData Source # | |
(SingI modules, HasOCamlModule' api) => HasOCamlModule (OCamlModule modules :> api :: Type) Source # | |
Defined in OCaml.BuckleScript.Internal.Package Methods mkModule :: Proxy (OCamlModule modules :> api) -> PackageOptions -> Map HaskellTypeMetaData OCamlTypeMetaData -> IO () Source # |
data OCamlSubModule (subModules :: Symbol) Source #
Symobl will be expaneded to "module SymbolName = struct ... end".
data OCamlTypeInFile a (filePath :: Symbol) Source #
A handwritten OCaml type, encoder and decoder from a file.
data HaskellTypeName (name :: Symbol) a Source #
In case Generic is not derived, manually provide the type name user is responsible for making sure it is correct. otherwise it may lead to a compile error.
data EmbeddedOCamlFiles Source #
Store OCamlFileInType data.
Constructors
EmbeddedOCamlFiles | |
Fields |
Instances
Show EmbeddedOCamlFiles Source # | |
Defined in OCaml.BuckleScript.Internal.Module Methods showsPrec :: Int -> EmbeddedOCamlFiles -> ShowS # show :: EmbeddedOCamlFiles -> String # showList :: [EmbeddedOCamlFiles] -> ShowS # |
class HasOCamlType api where Source #
Convert a Haskell type into OCaml source code.
Methods
mkType :: Proxy api -> Options -> Bool -> Map String EmbeddedOCamlFiles -> [Text] Source #
mkInterface :: Proxy api -> Options -> Map String EmbeddedOCamlFiles -> [Text] Source #
mkSpec :: Proxy api -> Options -> [Text] -> Maybe Text -> Text -> Map String EmbeddedOCamlFiles -> [Text] Source #
Instances
(HasOCamlTypeFlag a ~ flag, HasOCamlType' flag a) => HasOCamlType (a :: Type) Source # | |
Defined in OCaml.BuckleScript.Internal.Module |
class HasEmbeddedFile api where Source #
Use Template Haskell to load OCaml files for an OCaml Module at compile time. '$(mkFile (Proxy :: Proxy Package))'.