C layer for Dhall language
Dhall(https://github.com/dhall-lang/dhall-lang), developed by Gabriel Gonzalez, is strictly typed, total (guaranteed to terminate, not turing complete) computer language. Dhall is a good language to describe data, configuration, and so on. . This library is a C binding of Dhall, which calls the Haskell implementation of Dhall via FFI. Dhall values are mapped directly into C memory representation described by the spec structure.
The documentation is available at the URL below.
https://as-capabl.github.io/clay-dhall/html/clay-dhall/index.html
Working toward the 1st release.
- APIs to get error messages
- PerformGC API
- Full documentation
- Installation
- data EvaluateSettings
- data InputSettings
- data InputType a
- embed
- declared
- data InterpretOptions
- data InvalidType
- newtype RecordInputType a
- newtype RecordType a
- data Type a
- extract
- expected
- auto :: Interpret a => Type a
- bool :: Type Bool
- defaultEvaluateSettings :: EvaluateSettings
- defaultInputSettings :: InputSettings
- defaultInterpretOptions :: InterpretOptions
- ns detailed :: IO a -> IO a
- double :: Type Double
- field :: Text -> Type a -> RecordType a
- genericAuto ::
- inject :: Inject a => InputType a
- Contains
undefined
s
- Contains
- input :: Type a -> Text -> IO a
- inputExpr ::
- inputExprWithSettings ::
- inputField :: Inject a => Text -> RecordInputType a
- inputFieldWith :: Text -> InputType a -> RecordInputType a
- inputFile :: Type a -> FilePath -> IO a
- inputFileWithSettings ::
- inputRecord :: RecordInputType a -> InputType a
- inputWithSettings :: InputSettings -> Type a -> Text -> IO a
- integer :: Type Integer
- ns lazyText :: Type Data.Text.Internal.Lazy.Text
- ns list :: Type a -> Type [a]
- Dhall.maybe :: Type a -> Type (Maybe a)
- natural :: Type Natural
- normalizer ::
- (Only through dhall_add_builtin)
- ns pair :: Type a -> Type b -> Type (a, b)
- ns rawInput ::
- record :: RecordType a -> Type a
- rootDirectory ::
- scientific :: Type scientific-0.3.6.2:Data.Scientific.Scientific
- ns Dhall.sequence :: Type a -> Type (Seq a)
- sourceName ::
- startingContext ::
- (Only through dhall_add_builtin)
- strictText :: Type Text
- ns string :: Type String
- unit :: Type ()
- vector :: Type a -> Type (Vector a)
- Expr
- Comparison (==)
ns = not supported
Requirements:
- Haskell cabal (https://docs.haskellstack.org/en/stable/README/)
- Boost build v2 (https://www.boost.org/doc/libs/1_50_0/tools/build/v2/index.html)
The following executes the test suite.
$ cabal new-build
$ cd ctest
$ bjam
Installation for production is not yet implemented.
Blocked by cabal issues;