This adds four new sections to the page after the live demo which highlight the common themes that I notice people use when communicating the value of Dhall to others on social media: * The first section emphasizes the element of delight in using the language for people who are into elegance and quality * The second section focuses on more pragmatic people who are sick of YAML and just want a reasonable alternative that they can convince their manager to adopt * The third section appeals to the LangSec crowd that wants an uncompromising and secure foundation for what they are buliding * The last section targeted at the skeptic who thinks that Dhall is an ivory tower language not suited for real-world problems. The second crowd (YAML emigrants) is the audience that I'm targeting the most strongly at the moment, but I didn't want to lead with a negative reason adopt by focusing on the limitations of YAML, so I put the section on delight first so that we could start with a more positive tone. |
||
---|---|---|
dhall | ||
dhall-bash | ||
dhall-json | ||
dhall-text | ||
dhall-try | ||
nix | ||
.gitignore | ||
.travis.yml | ||
cabal.project | ||
default.nix | ||
LICENSE | ||
README.md | ||
release.nix | ||
stack-lts-6.yaml | ||
stack-lts-11.yaml | ||
stack.yaml |
dhall-haskell
You will probably want to read the language-agnostic README
here:
This repository focuses on the Haskell bindings to Dhall and contains the following packages:
dhall
-dhall-bash
-dhall-json
-dhall-text
-
Navigate to each package's directory for their respective README
s
Pre-built binaries
You can download pre-built binaries for Windows and Linux on the release page:
For OS X, use brew
to install the desired package. For example:
$ brew install dhall-json
Building from source
cabal
You can build all of the packages by running:
$ cabal new-build all
And each of them with cabal new-build <package-name>
, for example:
$ cabal new-build dhall
... or you can run cabal new-build
within each package directory.
nix
You can build all of the packages by running:
$ nix-build
... or you can run nix-build
within each package's respective directory to
build just that one package.
You can install all of the packages by running:
$ nix-env --install --file default.nix
... or you can run the same command within each package's respective directory to install just that one package.
You can develop any package by navigating to that package's directory and running:
$ nix-shell
[nix-shell]$ cabal configure
[nix-shell]$ cabal build
[nix-shell]$ cabal test
... or you can add nix: True
to your ~/.cabal/config
file and then you can
run the same cabal
commands without an explicit nix-shell
:
$ cabal configure
$ cabal build
$ cabal test
stack
You can build all of the packages with
$ stack build
And each of them with stack build <package-name>
, for example:
$ stack build dhall-json
Build the "Try Dhall" website
Building the website from source is currently only supported for Nix on Linux.
You can build the static assets by running:
$ nix-build --attr try-dhall
... then open ./result/index.html
in your browser.
You can also download an archive containing the pre-built website from CI using this link:
Contributing
Read the following guide if you would like to contribute: