Commit graph

89 commits

Author SHA1 Message Date
gb 2fadbe3090 add new nixstring version with warnings 2018-09-09 11:01:09 -04:00
gb 9c3e5e995c update fork from master contd 2018-07-28 14:17:37 -04:00
gb 43c145252d NixString is in its own module hiding the constructors 2018-05-08 16:47:50 -04:00
gb 82c0d917e9 add hashable import 2018-05-08 14:40:49 -04:00
John Wiegley f1faf50bcb
Merge branch 'master' into string_context_255 2018-05-06 10:47:23 -07:00
John Wiegley e7a6456a35 Make use of lens-family to provide some utility lenses/traversals 2018-05-06 10:43:43 -07:00
gb 8e7d9d32fa add string context 2018-05-03 08:07:54 -04:00
John Wiegley 8538859230 Work on type inference for functions that take attr sets 2018-05-01 21:50:50 -04:00
John Wiegley acda2b3337 Use Exception rather than Frame, reduce constraints imposed by forceThunk 2018-05-01 20:34:41 -04:00
Tim Sears a49a424813 add builtins.mul, issue #250 2018-04-29 11:43:06 -07:00
Tim Sears 43bb8d0558 allow floating point values to be used with builtins.add. Fixes Issue #207. 2018-04-28 15:22:28 -07:00
John Wiegley 3b304561f7 Make div dispatch on value types 2018-04-28 15:01:12 -07:00
John Wiegley d0b5ccde77 Initial implementation of genericClosure 2018-04-28 14:56:20 -07:00
John Wiegley 6c2149f767 Remove code TODOs, which have been changed into GitHub issues 2018-04-26 17:13:22 -07:00
John Wiegley b83ccb40f3 Add provenance to thunks, and allow provenance to stack 2018-04-24 21:41:23 -07:00
John Wiegley 01bcb86d3f Further improvements to error rendering, but not all done yet 2018-04-24 11:12:20 -07:00
John Wiegley 9864a8c7a5 Rework the way that info frames and error are handled
There is still work to be done to render the new "typed frames", and to
convert all the current string based frame into typed frames. This will pave
the way forward to smarter error messages that can be browsed in intelligent
environments like Emacs and the browser.
2018-04-24 02:15:28 -07:00
John Wiegley 2aa418d60a Record contextual provenance more fully in some places 2018-04-23 10:18:47 -07:00
John Wiegley 4ff0c483bf Improve printing of provenance information, add more info 2018-04-23 10:06:49 -07:00
John Wiegley 3cf02e3902 Track value provenance during evaluation 2018-04-22 14:33:38 -07:00
John Wiegley e7ec507db8 Use Void to make an intention clearer 2018-04-18 13:28:19 -07:00
John Wiegley 01bf245e31 Simplify a function in Eval.hs using Nix.Convert 2018-04-17 14:59:24 -07:00
John Wiegley c9158273a4 Change all builtins to go from m (NValue m) -> m (NValue m)
This avoids a needless thunk encapsulation.
2018-04-16 21:39:41 -07:00
John Wiegley 7f9a7c5ce8 Remove posFromSourcePos, it is no longer needed 2018-04-14 23:55:37 -07:00
John Wiegley 38b24f5fc1 Add new helper function isClosureNF 2018-04-11 20:22:06 -07:00
John Wiegley 39e175be85 Rename some helper functions 2018-04-11 20:21:34 -07:00
John Wiegley 805ea3ecc5 Resolve a warning 2018-04-11 14:35:30 -07:00
John Wiegley 031826f01b Remove the Convertible type constraint synonym 2018-04-11 14:16:33 -07:00
John Wiegley 3233c9cb31 Restore the pretty show instance for NValue m (orphaned in Pretty for now) 2018-04-10 21:11: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 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 f6eb4c1353 Store a closure in NVClosure, instead of passing the scope 2018-04-07 22:46:05 -07:00
John Wiegley 39e859fab5 Make use of Nix.Normal, move some more code to Nix.Value 2018-04-07 17:24:22 -07:00
John Wiegley 31e6aa8fb9 Implement __curPos as a primitive action during evaluation 2018-04-07 16:35:11 -07:00
John Wiegley 9dcd7b37b6 Factor some code into new module Nix.Normal 2018-04-07 15:25:39 -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 a704bb045f Commit the src/ directory 2018-04-07 12:02:50 -07:00