Find a file
2018-04-07 16:35:11 -07:00
benchmarks
data
doc
main
src Implement __curPos as a primitive action during evaluation 2018-04-07 16:35:11 -07:00
tests Quiet some warnings 2018-04-07 15:15:22 -07:00
.gitignore
.gitmodules
.travis.yml Drop support for GHC 8.0 2018-04-06 11:03:52 -07:00
default.nix Whitespace fix 2018-04-07 15:07:53 -07:00
hnix.cabal Factor some code into new module Nix.Normal 2018-04-07 15:25:39 -07:00
LICENSE
Makefile
package.yaml Implement builtins.tryEval 2018-04-07 14:33:15 -07:00
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

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.