Commit graph

714 commits

Author SHA1 Message Date
Anton-Latukha ed21133a4f Effects: Basic: LANGUAGE: rm unused UndecidableInstances 2019-06-25 20:24:12 +02:00
Anton-Latukha 9de5830232 Effects: Basic: LANGUAGE: rm unused AllowAmbigousTypes 2019-06-25 20:24:12 +02:00
Anton-Latukha fadc645551 Effects: Basic: upd η-reduce findPathM 2019-06-25 20:24:12 +02:00
Anton-Latukha cc1e0d208a Effects: Basic: LANGUAGE: rm unused TypeSynonimInstances 2019-06-25 20:24:12 +02:00
Anton-Latukha bf226596d3 Effects: Basic: LANGUAGE: rm unused GeneralizedNewtypeDeriving 2019-06-25 20:24:12 +02:00
Anton-Latukha 1197ffdc8a Effects: Basic: LANGUAGE: rm unused DeriveFunctor 2019-06-25 20:24:12 +02:00
Anton-Latukha 2824bd8d0a Effects: Basic: defaultDerivationStrict: upd use infix demand 2019-06-25 20:24:12 +02:00
Linus Heckemann a57fc62d84 exec: fix some list and null behaviour
null is not equal to the empty list, and cannot be concatenated to
either end of a list.
2019-06-25 20:23:50 +02:00
Linus Heckemann 600fdb93e8 types: fix type of concat binop
Nix's ++ does not in fact allow concatting null with a list:

nix-repl> [] ++ null
error: value is null while a list was expected, at (string):1:1

nix-repl> null ++ []
error: value is null while a list was expected, at (string):1:1
2019-06-25 20:23:50 +02:00
Silvan Mosberger 90f6a61a84 Fix nixUri source span
Previously it would include the spacing after the URI in the source
span.
2019-05-13 07:34:54 -07:00
Félix Baylac-Jacqué cacbfdbd6d Builtins: add builtins.concatMap
Fixes #448
2019-04-01 15:45:27 -07:00
Félix Baylac-Jacqué 3acc67ba66 Fix eval-okay-builtins-add.
Nix omits the trailing .0 when displaying a Float. Aligning current
hnix pretty printer with this behaviour.

Fixes #447.
2019-03-27 21:16:54 -07:00
John Wiegley 4607639774 Remove the NValueNF type, as it provides little utility 2019-03-27 21:16:01 -07:00
John Wiegley 3d89159ee4
Remove an old comment 2019-03-23 12:53:10 -07:00
John Wiegley 04cf8be650
Move StdIdT out of the StandardT transformer 2019-03-23 00:56:40 -07:00
John Wiegley db5cfa3185
Normalize the order of some arguments 2019-03-23 00:50:17 -07:00
John Wiegley 9e22c63bd5 Simplify Standard.hs further by creating Nix.Utils.Fix1 2019-03-23 00:49:03 -07:00
John Wiegley 77c52fd43c Revise Nix.Standard 2019-03-23 00:49:03 -07:00
John Wiegley 47143fda73
Add an 'inform' method to MonadValue 2019-03-19 13:10:35 -07:00
Shea Levy e4b5e557e9
Bring up-to-date with hnix-store-core 0.1.0.0. 2019-03-19 03:48:13 -04:00
John Wiegley d1ada44817
Run brittany 2019-03-18 21:47:43 -07:00
John Wiegley 9b046a80c7
Remove unnecessary trailing space 2019-03-18 21:41:27 -07:00
John Wiegley 2a27f71a10
Resolve a compiler warning 2019-03-18 21:37:53 -07:00
John Wiegley 92ca9ff831
Restore rendering of Expectation frames 2019-03-18 21:34:04 -07:00
John Wiegley 39e42c9df7
All the tests now pass 2019-03-18 18:55:59 -07:00
John Wiegley 769a40e643
Down to 3 failures 2019-03-18 18:31:36 -07:00
John Wiegley 77d67b106c
8 test failures remaining 2019-03-18 18:20:07 -07:00
John Wiegley 2c0c896871
Everything compiling again, but 25 tests failing 2019-03-18 17:30:31 -07:00
Ryan Trinkle 9cc17a5c78 Fix all' issue in Builtins.hs 2019-03-18 19:27:04 -04:00
John Wiegley bf4ecb6f08
Almost all of Builtins.hs ported 2019-03-18 15:40:15 -07:00
John Wiegley df3e79d945
Port over most of Builtins.hs 2019-03-18 15:27:12 -07:00
John Wiegley 439ae6ce0d
More work toward harmonization; now down to porting Builtins 2019-03-18 14:01:48 -07:00
John Wiegley be7b289b02
Add train and further methods for extending thunk actions 2019-03-18 12:51:29 -07:00
John Wiegley 522585a7f1
Begin work on harmonizing the two different value representations 2019-03-18 11:41:46 -07:00
John Wiegley 29c48fa8e3
Run Brittany again 2019-03-17 22:46:15 -07:00
John Wiegley 18c49f6a0d
Reorganize code in Nix.Value, creating new Nix.Value.Equal 2019-03-17 22:44:22 -07:00
John Wiegley 8553f7f4e9
Remove some commented out code 2019-03-17 22:00:15 -07:00
John Wiegley a006769124
Factor some common patterns back into Standard 2019-03-17 21:58:35 -07:00
John Wiegley 7b5d134d22
Factor out FreshIdT from Standard 2019-03-17 19:04:38 -07:00
John Wiegley 015ced236e
Simplify Standard by splitting off Cited.Basic 2019-03-17 18:43:23 -07:00
John Wiegley 3881101ebd
Some very minor changes for consistency 2019-03-17 16:54:59 -07:00
John Wiegley 895f4e721f
Merge remote-tracking branch 'origin/vs-context-primops' 2019-03-17 15:44:05 -07:00
John Wiegley 1e2b67e488
Remove some unneeded comments 2019-03-17 15:31:27 -07:00
John Wiegley aa66560bf7
Get rid of implicit conversions to and from thunks 2019-03-17 15:30:20 -07:00
John Wiegley 94e0be3882
Reformat all sources with Brittany, to restore consistency 2019-03-17 14:47:38 -07:00
John Wiegley 8cfb965e99
Restore the previous behavior of genericClosure 2019-03-17 14:18:57 -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 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 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 bda79c984b
Merge branch 'master' into vs-context-primops 2019-03-11 08:41:42 -07:00
John Wiegley f397b80a9c Factor out citation information to its own data structure 2019-03-10 16:07:13 -07:00
Emmanuel Denloye-Ito af9f69d517 fromJSON tests are now working. Yeah! 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
John Wiegley 7bb233cb2b
Merge branch 'master' into vs-context-primops 2019-03-10 13:54:43 -07:00
Ken Micklas 765b2f9cfc Return string instead of context in appendContext 2019-03-10 16:41:00 -04:00
Ken Micklas 9ce7d7ebe2 Add fromNixLikeContext 2019-03-10 16:40:51 -04:00
Ken Micklas 45400aae58 Allow missing keys in appendContext 2019-03-10 16:21:31 -04:00
Ken Micklas 37758c6190 Omit empty keys for NixLikeContextValues 2019-03-10 15:59:41 -04:00
Ken Micklas 37152002b0 Implement appendContext 2019-03-10 15:45:53 -04: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
Emmanuel Denloye-Ito 586f1de62d Less than test (#461)
References issue #438 

Co-authored-by: John Wiegley <johnw@newartisans.com>
2019-03-10 11:16:36 -07:00
John Wiegley 602b71c173 Render source line locations more attractively 2019-03-10 11:15:28 -07:00
Ken Micklas 22048ccc89 Clean up syntax in getContext 2019-03-10 14:09:29 -04:00
Ken Micklas 718c94e0bb Merge branch 'master' into vs-context-primops 2019-03-10 13:48:58 -04:00
John Wiegley 106fd7957f
Update to the latest hnix conventions 2019-03-10 10:41:31 -07:00