13fc5bcd6d
Finishes issue #113 |
||
---|---|---|
benchmarks | ||
data | ||
doc | ||
main | ||
src | ||
tests | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
default.nix | ||
hnix.cabal | ||
LICENSE | ||
Makefile | ||
package.yaml | ||
README.md | ||
Setup.hs |
hnix
Haskell parser, evaluator and type checker for the Nix language.
Prerequisites
Nix is installed and in your $PATH
. This is so that nix-store
can be used
for interacting with store paths, until hnix-store
is ready.
Getting Started
$ git clone https://github.com/jwiegley/hnix.git
...
$ cd hnix
$ cabal2nix --shell . > default.nix
$ nix-shell
...
$ cabal test
...
$ cabal bench
...
$ ./dist/build/hnix/hnix --help
Building with profiling enabled
To build hnix
with profiling enabled:
$ nix-shell --arg doProfiling true
$ cabal configure --enable-tests --enable-profiling
$ ./dist/build/hnix/hnix <args> +RTS -p
How you can help
If you're looking for a way to help out, try taking a look here. When you find an issue that looks interesting to you, comment on the ticket to let others know you're working on it; look for others who might have done the same. You can talk with everyone live on gitter.
When you're ready to submit a pull request, test it with:
git submodule update --init --recursive
nix-shell --run "LANGUAGE_TESTS=yes cabal test"
Make sure that all the tests that were passing prior to your PR are still passing afterwards; it's OK if no new tests are passing.