Commit graph

591 commits

Author SHA1 Message Date
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 7c13e65a24 Add some commented-out performance-related flags to package.yaml 2018-04-09 02:07:58 -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
John Wiegley 1ac668bc13 Add hpack as a dependency 2018-04-07 18:25:13 -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
John Wiegley 85b7799246 Quiet some warnings 2018-04-07 15:15:22 -07:00
John Wiegley c8e9012778 Some minor fixups for compilation 2018-04-07 15:13:58 -07:00
John Wiegley deb592b11d Undo changes to hnix.cabal 2018-04-07 15:08:48 -07:00
John Wiegley 196c6fc1b8 Whitespace fix 2018-04-07 15:07:53 -07:00
Doug Beardsley c70f67ce1e Add nix to testHaskellDepends 2018-04-07 15:07:09 -07:00
Doug Beardsley f1ef9440e0 Revert change to default.nix 2018-04-07 15:07:09 -07:00
Doug Beardsley 3d98bc8e05 Revert import change 2018-04-07 15:07:09 -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 935c7c5ee1 Remove some unnecessary code from package.yaml 2018-04-07 14:17:17 -07:00
John Wiegley 954ffccebb Ensure in the tests that hnix.cabal is not edited directly 2018-04-07 12:09:49 -07:00
John Wiegley a704bb045f Commit the src/ directory 2018-04-07 12:02:50 -07:00
John Wiegley 443129315d Use hpack and move all the Nix sources into a src/ directory 2018-04-07 12:02:33 -07:00
John Wiegley d9047cc216 Factor out some code into new module Nix.Value 2018-04-07 11:38:12 -07:00
John Wiegley cf6fd0f87d Implement scopedImport
Fixes #120
2018-04-06 16:34:45 -07:00
John Wiegley e2e55ff8cd Further generalize the transport utility function 2018-04-06 14:36:19 -07:00
John Wiegley 1cacb729fc
Merge pull request #150 from mightybyte/master
Replace pcre-light with regex-tdfa
2018-04-06 11:04:10 -07:00
John Wiegley 792d1c595d Drop support for GHC 8.0 2018-04-06 11:03:52 -07:00
Doug Beardsley 6d02dc4e01 Put export list back 2018-04-06 11:50:51 -06:00
Doug Beardsley 002a7ad1b9 Replace pcre-light with regex-tdfa
The regex-tdfa package implements POSIX extended regular expressions,
which are what Nix uses.
2018-04-06 11:46:56 -06:00
John Wiegley 1a01f85de9 Implement builtins.match, and add a dependency on pcre-light 2018-04-05 23:50:32 -07:00
John Wiegley 323068f6ec Allows strings and lists to be compared with null 2018-04-05 23:50:22 -07:00
John Wiegley 7df47c7d11 Implement builtins.unsafeGetAttrPos
Fixes #117
2018-04-05 23:16:55 -07:00
John Wiegley 1be8508ab4 Add a transport function for transforming fixed-point structures 2018-04-05 23:12:09 -07:00
John Wiegley 4011a4cff5 Fix comment test 2018-04-05 21:55:34 -07:00
John Wiegley 36985e170c Allow 1>=-2 as a valid parse 2018-04-05 21:36:12 -07:00
John Wiegley 3561fc8144 Comments don't nest in Nix, /* /* */ is a complete comment
Fixes #61
2018-04-05 21:24:31 -07:00
John Wiegley 2e592d9bab Silence some warnings 2018-04-05 21:14:15 -07:00