These aren't fully static executables (they still have some `/nix/store` references), but they at least compile Haskell dependencies statically. That means that they can be `nix-env --install`ed side-by-side with other Haskell executables, which would otherwise conflict with an error like this one: ``` error: packages '/nix/store/hrxnlwlsiw5jjjkq5v6ihcwb0shx4fga-dhall-1.20.1/lib/li nks/libHSbasement-0.0.8-8QjArDsw3GWCcbHE5iqtz3-ghc8.4.3.dylib' and '/nix/store/d 2y5373anwf1q3h86ar3lljk11k1lq0h-dhall-json-1.2.6/lib/links/libHSbasement-0.0.8-8 QjArDsw3GWCcbHE5iqtz3-ghc8.4.3.dylib' have the same priority 5; use 'nix-env --s et-flag priority NUMBER INSTALLED_PKGNAME' to change the priority of one of the conflicting packages (0 being the highest priority) ``` |
||
---|---|---|
.. | ||
dhall-to-json | ||
dhall-to-yaml | ||
examples | ||
src/Dhall | ||
tasty | ||
.gitignore | ||
CHANGELOG.md | ||
default.nix | ||
dhall-json.cabal | ||
LICENSE | ||
README.md | ||
release.nix | ||
Setup.hs | ||
shell.nix |
dhall-json
For installation or development instructions, see:
Full documentation here:
Introduction
This dhall-json
package provides a Dhall to JSON compiler and a Dhall to YAML
compiler. The reason this package is called dhall-json
is that the Haskell
yaml
library uses the same data structure as Haskell's aeson
library for
JSON
Example
$ dhall-to-json <<< "{ foo = 1, bar = True }"
{"foo":1,"bar":true}
$ dhall-to-json <<< "List/head Natural ([] : List Natural)"
null
$ dhall-to-yaml <<< "{ foo = [1, 2, 3], bar = { baz = True } }"
foo:
- 1
- 2
- 3
bar:
baz: true