Commit graph

733 commits

Author SHA1 Message Date
John Wiegley cb44653e63 Further correction to identifier and reserved word parsing 2018-04-10 09:22:18 -07:00
John Wiegley 3006ea2fd7 Restore stack frame printing 2018-04-10 09:03:24 -07:00
John Wiegley 12b1a79a2c More corrections to the parser 2018-04-10 09:03:18 -07:00
John Wiegley 49d73fa767 Restore code in Builtins.hs 2018-04-10 09:02:17 -07:00
John Wiegley 8b3c183f9c Remove an unneeded try 2018-04-10 08:35:18 -07:00
John Wiegley 2694f6ffaf More work on the megaparsec parser 2018-04-10 08:34:21 -07:00
John Wiegley 3deb142a93 Another parsing fix 2018-04-10 00:45:59 -07:00
John Wiegley 4f9dec43cd More work on the megaparsec parser 2018-04-10 00:40:11 -07:00
John Wiegley 70f21d30ae Passing all the basic parser and evaluation tests now 2018-04-09 23:34:21 -07:00
John Wiegley 8f37f37986 Down to 16 basic test failures with megaparsec 2018-04-09 21:35:46 -07:00
John Wiegley 9d7f25d368 All is building with Megaparsec now, but many parsing tests fail 2018-04-09 17:12:16 -07:00
John Wiegley 9beb9364e0 The Megaparsec version of Parser.hs is at least compiling 2018-04-09 16:11:31 -07:00
John Wiegley b1fb73d363 Remove Trifecta and parsec, begin switch to megaparsec 2018-04-09 10:16:25 -07:00
John Wiegley de561b48da Prevent the argument to 'with' from being re-evaluated multiple times
This was the cause of the recent slowdown in running the tests
2018-04-09 02:08:27 -07:00
John Wiegley 3eaf7fd748 Allow Parsec to be used again, so long as there are no errors 2018-04-09 02:08:14 -07:00
John Wiegley d964b7bb29 Allow expression trees to be deepseq'd 2018-04-09 02:07:40 -07:00
John Wiegley 8da8ea2b66 Remove unnecessary strictness annotations from types
This improves speed a bit on my system, parsing all the nixpkgs files.
2018-04-09 00:59:50 -07:00
John Wiegley 4c2eebbe40 Refactor evaluation using a type class 2018-04-09 00:52:10 -07:00
John Wiegley 3681d51dd6 Create modules Nix.Monad.Lazy, Nix.Monad.Lint, Nix.Monad.Context 2018-04-07 23:14:08 -07:00
John Wiegley f6eb4c1353 Store a closure in NVClosure, instead of passing the scope 2018-04-07 22:46:05 -07:00
Ryan Trinkle 7c3b7d9482 When the user calls import on a directory, automatically append default.nix 2018-04-07 20:33:36 -04:00
John Wiegley 39e859fab5 Make use of Nix.Normal, move some more code to Nix.Value 2018-04-07 17:24:22 -07:00
Ryan Trinkle 1ada8648f2 Fix comparison of derivations 2018-04-07 20:15:55 -04:00
John Wiegley 31e6aa8fb9 Implement __curPos as a primitive action during evaluation 2018-04-07 16:35:11 -07:00
Ryan Trinkle 33ae62534b Make map builtin lazier 2018-04-07 19:06:01 -04:00
Ryan Trinkle 628697d63b Merge branch 'master' of github.com:jwiegley/hnix
# Conflicts:
#	src/Nix/Monad.hs
#	src/Nix/Monad/Instance.hs
2018-04-07 18:39:57 -04:00
Ryan Trinkle 8b0de962b0 Add derivation builtin 2018-04-07 18:34:54 -04:00
John Wiegley 9dcd7b37b6 Factor some code into new module Nix.Normal 2018-04-07 15:25:39 -07:00
Doug Beardsley 1b7dac071d Test to catch a bug in builtins.match
Also added infrastructure for comparing against current nix behavior,
not just current nix tests.
2018-04-07 15:07:09 -07:00
John Wiegley 96100172a0 Handle proper evaluation of env paths 2018-04-07 14:56:18 -07:00
John Wiegley aaaa82820f Don't distinguish between literal and env paths in values, just exprs 2018-04-07 14:52:24 -07:00
John Wiegley ea6a98f602 Implement builtins.tryEval 2018-04-07 14:33:15 -07:00
John Wiegley a704bb045f Commit the src/ directory 2018-04-07 12:02:50 -07:00