Commit graph

1563 commits

Author SHA1 Message Date
John Wiegley 4d4636e76c
Add Brittany to the set of build tools 2019-03-17 13:59:53 -07:00
John Wiegley 88c81ceafe
Whitespace changes 2019-03-17 13:33:54 -07:00
John Wiegley ad8b4a9257
Remove some unnused code 2019-03-16 23:42:48 -07:00
John Wiegley 5c10be3e3b
More cleanup, get rid of the Eq and Ord instances for NValue'
They had dubious semantics anyway; there is now only valueEqM and valueNFEq.
2019-03-16 23:35:16 -07:00
John Wiegley 1a6978fe6b
Change NValueNF so that the Pure case preserves the looped thunk 2019-03-16 23:13:13 -07:00
John Wiegley 767ebe4ea1
Merge pull request #478 from haskell-nix/johnw/data-abstract
Abstract the core value representation further
2019-03-16 21:44:53 -07:00
John Wiegley 954e201408
Add new synonym in Standard.hs: type StdIdT m = FreshIdT Int m 2019-03-16 16:24:44 -07:00
John Wiegley 492a3ae0bc
Factor out thunk id representation into its own class, MonadThunkId 2019-03-16 16:23:40 -07:00
John Wiegley 6e4a3de15c
Remove a comment that is no longer necessary 2019-03-16 16:10:34 -07:00
John Wiegley fcddfab5a0
Add a documentation note for 'thunkId' 2019-03-16 14:49:48 -07:00
John Wiegley 9405074cd8
Fix hnix-tests 2019-03-16 14:41:25 -07:00
John Wiegley 676994ed82
Have forceEff pretend to return a value again 2019-03-16 13:23:38 -07:00
John Wiegley 3c2393e5af
Add sequenceNValueNF 2019-03-16 13:16:45 -07:00
John Wiegley 4387024935
Fix MonadThunk in Standard.hs 2019-03-16 12:58:33 -07:00
John Wiegley 537f1fc8c7
Finish out the instance definitions in Standard.hs 2019-03-16 12:48:07 -07:00
John Wiegley 3c2801cbc7
More minor cleanup, add a new README-design.md 2019-03-16 11:41:48 -07:00
John Wiegley 6ae5764221
All type checks, but many instance definitions are still missing 2019-03-16 01:10:47 -07:00
John Wiegley 145e69c9a4
Further work on Standard.hs 2019-03-15 22:54:29 -07:00
John Wiegley 209a9ae9a5
Create Nix/Thunk/Standard.hs 2019-03-15 17:59:38 -07:00
John Wiegley e9236aa55c
Now down to Main.hs and the tests 2019-03-15 17:20:10 -07:00
John Wiegley c9f4e40ec0
Get most of Builtins.hs type checking again 2019-03-15 14:33:03 -07:00
John Wiegley 483dded8db
Begin work in Builtins.hs 2019-03-15 13:27:11 -07:00
John Wiegley 568fe7f825
Fix XML.hs 2019-03-15 13:20:47 -07:00
John Wiegley 488d8b2d89
Fix Json.hs and Frame.hs; now on to XML.hs 2019-03-15 12:59:13 -07:00
John Wiegley 85f32da4a4
Change signature of forceEff 2019-03-15 12:49:16 -07:00
John Wiegley 14b2b9a66d
Exec.hs now type checks, but we haven't restored thunking 2019-03-15 12:38:59 -07:00
John Wiegley 5d9c858f5d
More work toward getting Exec.hs to compile 2019-03-14 23:18:16 -07:00
John Wiegley 996266bbdc
More work in Exec.hs 2019-03-14 22:00:23 -07:00
John Wiegley ace0fc10d5
Further progress 2019-03-14 15:10:41 -07:00
John Wiegley f5726cd015
Further work 2019-03-14 10:56:20 -07:00
John Wiegley ba33d8c117
Further revision in Value.hs 2019-03-14 10:40:30 -07:00
John Wiegley 6daaf18018
More work on Value.hs 2019-03-13 23:24:11 -07:00
John Wiegley 9583b7aa70
Introduce IsNThunk t m, with many thanks to Ryan Trinkle 2019-03-13 11:02:53 -07:00
John Wiegley 67bc3f2a69
Hopefully finished up with Value.hs and Normal.hs 2019-03-13 10:53:58 -07:00
John Wiegley 505591515f
More work on Value.hs 2019-03-12 23:44:42 -07:00
John Wiegley 28a1410013
Split off NCited into its own file 2019-03-12 07:21:24 -07:00
John Wiegley 3cb9834792
Begin abstracting the thunk/value data representation 2019-03-11 22:41:56 -07:00
John Wiegley 107f29d3fd
Move certain constraints from MonadThunk to the BasicThunk instance 2019-03-11 13:55:40 -07:00
John Wiegley 2e2ee3589c
Mix-in provenance information as a functoral layer, rather than directly
This changes nothing about how the code is structured just yet, but paves the
way for fully generalizing this up to the point where the thunk/value
representation is chosen. By making information like this functoral, we allow
full re-use of the NThunk/NValue machinery.
2019-03-11 08:44:22 -07:00
John Wiegley 39fd51c1a8 Split Nix.Thunk into Nix.Var, Nix.Thunk and Nix.Thunk.Basic
This is in preparation for further generalization of the thunk/value scheme
used by the execution code.
2019-03-11 08:42:46 -07:00
John Wiegley f397b80a9c Factor out citation information to its own data structure 2019-03-10 16:07:13 -07:00
John Wiegley dc12cdf92e
Add a test to ensure that we report infinite recursion 2019-03-10 14:19:15 -07:00
Emmanuel Denloye-Ito af9f69d517 fromJSON tests are now working. Yeah! 2019-03-10 14:14:14 -07:00
Emmanuel Denloye-Ito 5e0617a952 spelling error 2019-03-10 14:14:14 -07:00
Emmanuel Denloye-Ito 7a9b70f139 Found failing case: "stringed" numbers as key 2019-03-10 14:14:14 -07:00
John Wiegley 5884b3ab11
Correct to source position rendering 2019-03-10 14:12:40 -07:00
John Wiegley 41d44b018c Guard against infinitely recursive function calls
Fixes #432
2019-03-10 14:11:03 -07:00
hsloan f2033c0694 change test directory 2019-03-10 11:38:41 -07:00
hsloan e384945867 add eval-compare test 2019-03-10 11:38:41 -07:00
Emmanuel Denloye-Ito c51d966d44 Add tests for mapAttrs and changed hackyMakeNixStringWithoutContext to principledMakeNixStringWithoutContext in Builtins.hs 2019-03-10 11:17:36 -07:00