ocaml-export-0.13.0: Convert Haskell types in OCaml types

CopyrightPlow Technologies 2017
LicenseBSD3
Maintainermchaver@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

OCaml.BuckleScript.Internal.Package

Description

 
Synopsis

Documentation

data OCamlPackage (packageName :: Symbol) (packageDependencies :: [*]) Source #

Instances
(HasOCamlTypeMetaData (OCamlPackage packageName deps), HasOCamlTypeMetaData rest) => HasOCamlTypeMetaData (OCamlPackage packageName deps :<|> rest :: Type) Source #

packages

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData deps, HasOCamlTypeMetaData modules) => HasOCamlTypeMetaData (OCamlPackage packageName deps :> modules :: Type) Source #

build a packages dependencies and its declared modules

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData deps, HasOCamlTypeMetaData a, HasOCamlPackage' a) => HasOCamlPackage (OCamlPackage packageName deps :> a :: Type) Source # 
Instance details

Defined in OCaml.BuckleScript.Internal.Package

Methods

mkPackage :: Proxy (OCamlPackage packageName deps :> a) -> PackageOptions -> IO () Source #

type NoDependency = '[] Source #

data PackageOptions Source #

Options for creating an OCaml package based on Haskell types.

Constructors

PackageOptions 

Fields

data SpecOptions Source #

Details for OCaml spec.

Constructors

SpecOptions 

Fields

class HasOCamlPackage a where Source #

Iterate over a list of OCamlModule types that are concated with '(:|)', to create a package.

Methods

mkPackage :: Proxy a -> PackageOptions -> IO () Source #

Instances
(HasOCamlTypeMetaData a, HasOCamlPackage' a) => HasOCamlPackage (a :: k) Source # 
Instance details

Defined in OCaml.BuckleScript.Internal.Package

Methods

mkPackage :: Proxy a -> PackageOptions -> IO () Source #

(HasOCamlTypeMetaData deps, HasOCamlTypeMetaData a, HasOCamlPackage' a) => HasOCamlPackage (OCamlPackage packageName deps :> a :: Type) Source # 
Instance details

Defined in OCaml.BuckleScript.Internal.Package

Methods

mkPackage :: Proxy (OCamlPackage packageName deps :> a) -> PackageOptions -> IO () Source #

class HasOCamlModule a where Source #

Depending on PackageOptions settings, mkModule can - make a declaration file containing encoders and decoders - make an OCaml interface file - make a Spec file that tests the encoders and decoders against a golden file and a servant server

Instances
(SingI modules, HasOCamlModule' api) => HasOCamlModule (OCamlModule modules :> api :: Type) Source # 
Instance details

Defined in OCaml.BuckleScript.Internal.Package

class HasOCamlTypeMetaData a where Source #

Produce type meta data for an OCamlPackage and its dependencies

Instances
HasOCamlTypeMetaData ([] :: [k]) Source #

empty list

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData modul, HasOCamlTypeMetaData rst) => HasOCamlTypeMetaData (modul :<|> rst :: Type) Source #

modules

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData (OCamlPackage packageName deps), HasOCamlTypeMetaData rest) => HasOCamlTypeMetaData (OCamlPackage packageName deps :<|> rest :: Type) Source #

packages

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData modul, HasOCamlTypeMetaData rst) => HasOCamlTypeMetaData (modul ': rst :: [a]) Source #

packages

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(SingI modules, HasOCamlTypeMetaData' api) => HasOCamlTypeMetaData (OCamlModule modules :> api :: Type) Source #

single module

Instance details

Defined in OCaml.BuckleScript.Internal.Package

(HasOCamlTypeMetaData deps, HasOCamlTypeMetaData modules) => HasOCamlTypeMetaData (OCamlPackage packageName deps :> modules :: Type) Source #

build a packages dependencies and its declared modules

Instance details

Defined in OCaml.BuckleScript.Internal.Package