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
Madeline Haraj
28ab983408
Add syntactic holes
2019-03-10 10:23:28 -07:00
Emily Pillmore
f3970d49b9
Add principled 'fetchurl' + tests
...
Tests are masked until store work is done
2019-03-10 10:07:03 -07:00
John Ericson
5ddb79009d
Depend on hnix-store-core and use it for printHash32
2019-03-10 08:59:05 -07:00
John Wiegley
eae6bf542f
Split MonadFreshId off into its own file
2019-03-10 08:58:27 -07:00
Ken Micklas
75fb76a7c0
Revert "Add all the effects instances for FreshIdT"
...
This reverts commit 46db352af8
.
2019-03-09 22:03:30 -05:00
Ken Micklas
ec62bce3a0
Fix pointer equality case in thunkEq
2019-03-09 21:57:38 -05:00
Ken Micklas
695dd58d3c
Fix failable pattern in fresh
2019-03-09 21:40:59 -05:00
Ken Micklas
2366aff91d
Use valueEq when not pointer equal
2019-03-09 20:49:25 -05:00
Ken Micklas
8ddbe165e6
Only short-circuit pointer equality for correct types
2019-03-09 20:40:12 -05:00
Ken Micklas
05fccda825
Revert "Use thunk ID to short-circuit thunkEq"
...
This reverts commit c287ab8b59
.
2019-03-09 20:35:39 -05:00
Ken Micklas
6a5718458d
Fix MonadFreshId instances in wrong places
2019-03-09 20:26:56 -05:00
Ken Micklas
46db352af8
Add all the effects instances for FreshIdT
2019-03-09 20:26:56 -05:00
Ken Micklas
c287ab8b59
Use thunk ID to short-circuit thunkEq
2019-03-09 20:26:19 -05:00
Ken Micklas
d9293cf034
Fix Nix.Exec
2019-03-09 20:26:19 -05:00
Ken Micklas
91d5be6e49
Fix Nix.Lint
2019-03-09 20:26:19 -05:00
Ken Micklas
3b4af6f781
Move MonadAtomicRef ST instance to Nix.Thunk
2019-03-09 20:26:19 -05:00
Ken Micklas
ae09c47b7d
Fix Nix.Type.Infer
2019-03-09 20:26:19 -05:00
Ken Micklas
842dadf6da
Use non-standalone GND for FreshIdT
2019-03-09 20:26:19 -05:00
Ken Micklas
69fa8884c1
Add MonadAtomicRef instance for ST
2019-03-09 20:26:19 -05:00
Ken Micklas
a1fd246d01
Add MonadFix instance for FreshIdT
2019-03-09 20:26:19 -05:00
Ken Micklas
fd63be4f96
Add MonadFreshId instance for FreshIdT
2019-03-09 20:26:19 -05:00
Ken Micklas
3671e6993e
Fix FreshIdT instances
2019-03-09 20:26:19 -05:00
John Ericson
1abe4064c6
WIP more instances
2019-03-09 20:26:19 -05:00
John Ericson
3b5649c0a2
WIP fix equality
2019-03-09 20:26:19 -05:00
Vaibhav Sagar
4b8dff9aa8
Nix.Builtins: add getContext and appendContext primops
2019-03-09 19:30:56 -05:00
John Wiegley
a6d753bbdd
Remove an unnecessary import
2019-03-09 16:00:30 -08:00
Ryan Trinkle
a2b77f1d8a
Merge branch 'master' into ryantrinkle/splitVersion
2019-03-09 18:36:24 -05:00
Ryan Trinkle
883505f062
Merge branch 'master' into ryantrinkle/argsList
2019-03-09 18:34:19 -05:00
Ryan Trinkle
ae463c83e8
Merge branch 'master' into ryantrinkle/ellipsisBinds
2019-03-09 18:02:22 -05:00
Ryan Trinkle
d8a66c09ab
Ellipsis shouldn't introduce anything into scope
2019-03-09 17:59:59 -05:00
John Wiegley
3b2593df47
Merge branch 'master' into ryantrinkle/splitVersion
2019-03-09 14:51:39 -08:00
John Wiegley
92c0f5a307
Merge branch 'master' into ryantrinkle/argsList
2019-03-09 14:51:21 -08:00
Ryan Trinkle
b95710470c
When converting to JSON, if NVSet has an "outPath" attribute, use that instead of converting the object's attributes
2019-03-09 16:06:54 -05:00
Ryan Trinkle
bd867a3bef
When forming derivationStrict arguments, supply args
as a list rather than a string
...
Perhaps this used to be different, but as of nix-instantiate 2.1.3, `args` may not be a string
2019-03-09 16:04:41 -05:00
Ryan Trinkle
4e9ec1a964
Improve error message in case read
fails in splitVersion
2019-03-09 15:55:31 -05:00
John Wiegley
07e6a5a381
Merge branch 'pending'
2019-03-09 11:39:19 -08:00
Doug Beardsley
aa4156c5f6
Add test for currentSystem and remove hacky call
2019-03-08 23:22:43 -05:00
John Wiegley
624ec11234
Begin adding very basic source line printing
2019-03-03 14:48:49 -08:00
John Wiegley
3216a7f4ce
Create a stand-in function for pretty source location info
2019-01-08 11:00:09 -08:00
John Wiegley
b6dfaa22e9
Resolve a compile-time warning
2019-01-08 10:24:40 -08:00
Ken Micklas
4f61c4f3e7
Use extractNixString for JSON string
2018-12-14 12:04:20 -05:00
Ken Micklas
ad0d2d2bf8
Use WithStringContext(T) for nvalueToJSON
2018-12-13 16:59:51 -05:00
Ken Micklas
824615aabe
Merge branch 'master' into xml-string-context
2018-12-10 15:48:29 -05:00
Doug Beardsley
7d2f9d874a
Move json code into separate module
2018-12-09 13:57:58 -05:00
Ken Micklas
b1d48c5364
Accumulate string context in builtins.toXML
2018-12-06 18:11:06 -05:00
Ken Micklas
dcbde8c2d5
Add WithStringContext
2018-12-06 18:11:06 -05:00
Doug Beardsley
38147f81a9
Fix toJSON context handling and add test case
2018-12-05 14:59:42 -05:00
Doug Beardsley
5c6b1ff285
Fix replaceStrings and add test case to catch mistake
2018-12-05 11:53:59 -05:00
Doug Beardsley
5b1117f6b9
Add test case for placeholder and get it passing
2018-12-05 08:43:31 -05:00
Doug Beardsley
23250a3433
Misc cleanup
2018-12-05 06:26:59 -05:00
Doug Beardsley
1748e7ce7a
Fix behavior of baseNameOf
2018-12-03 05:00:50 -05:00
Doug Beardsley
4b28407936
Fix eval-okay-context test failure
2018-12-03 00:48:15 -05:00
Félix Baylac
512a8e0f10
Change builtins.storeDir type to String
...
Co-authored-by: Basile Henry <bjm.henry@gmail.com>
2018-12-02 20:59:50 +00:00
Doug Beardsley
ab3fc101dd
Merge branch 'master' into remove-fromnix-text-instances
2018-11-29 10:36:03 -05:00
John Wiegley
83e5dc7aa3
Merge pull request #418 from haskell-nix/revert-xml-string-context
...
Revert "Merge pull request #413 from haskell-nix/xml-string-context"
2018-11-26 12:00:23 -08:00
Shea Levy
952e2603ea
Revert "Merge pull request #413 from haskell-nix/xml-string-context"
...
Let's try to find a way to avoid exporting the NixString constructors
first.
This reverts commit ed07384563
, reversing
changes made to 4bfe2cc60c
.
2018-11-25 08:03:30 -05:00
Domen Kožar
48fe67748b
Fix warnings
2018-11-25 10:08:17 +00:00
John Wiegley
ed07384563
Merge pull request #413 from haskell-nix/xml-string-context
...
Accumulate string context in builtins.toXML
2018-11-24 19:15:06 -08:00
John Wiegley
4bfe2cc60c
Merge pull request #408 from domenkozar/type-string-context
...
Distinguish string with or without context when revealing type
2018-11-24 19:12:42 -08:00
John Wiegley
a6565b62a4
Merge pull request #414 from domenkozar/issue-412
...
Make -v1 default for better usability on errors
2018-11-24 19:11:02 -08:00
John Wiegley
f7a370b53f
Correct an informational message
2018-11-24 19:09:28 -08:00
Doug Beardsley
a39a5518ea
Merge remote-tracking branch 'origin/pending' into remove-fromnix-text-instances
2018-11-24 15:22:54 -05:00
Doug Beardsley
81c649b96e
Fix comment
2018-11-24 15:22:02 -05:00
Domen Kožar
e0af60ef67
thunk loop -> infinite recursion
2018-11-24 14:22:46 +00:00
Domen Kožar
28bfc2cbe8
Make -v1 default for better usability on errors
2018-11-24 14:13:24 +00:00
Ken Micklas
1457362184
Accumulate string context in builtins.toXML
2018-11-23 12:48:44 -05:00
Ken Micklas
a43da72f9e
Expose internals of NixString
2018-11-23 12:48:44 -05:00
John Wiegley
e8a6fbab16
Merge branch 'master' into fix/freeVars
2018-11-22 09:49:22 -08:00
Domen Kožar
39ef69f2f9
Merge branch 'master' into type-string-context
2018-11-22 09:55:23 +00:00
Vaibhav Sagar
017ce7667a
Bump Megaparsec to 7.0.4
2018-11-22 01:16:11 -05:00
John Wiegley
5ff896f571
Merge pull request #388 from haskell-nix/prettyprinter
...
Switch to prettyprinter library from ansi-wl-pprint
2018-11-21 15:59:49 -08:00
Doug Beardsley
31c327c406
Rename back to hacky
2018-11-21 01:55:56 -05:00
Doug Beardsley
09d9919367
Fix misleading name
2018-11-21 01:54:15 -05:00
Doug Beardsley
9e11410f6e
Make note to fix toFile
2018-11-21 01:50:24 -05:00
Doug Beardsley
d87122a0f2
Fix context handling in replaceStrings
2018-11-21 01:21:53 -05:00
Domen Kožar
58a83622eb
GHC 8.6 support
2018-11-20 23:44:59 +00:00
John Ericson
f227911ce0
Merge remote-tracking branch 'origin/master' into prettyprinter
2018-11-20 18:23:15 -05:00
Domen Kožar
2cc20c045f
Distinguish string with or without context when revealing type
2018-11-20 12:20:16 +00:00
John Wiegley
ba5b23a6e3
Bump minimum supported version to GHC 8.4.4
2018-11-19 09:46:02 -08:00
Doug Beardsley
8a97be7250
Fix behavior of match to properly return nulls
2018-11-19 09:01:34 -05:00
Doug Beardsley
752ff745a8
Remove unnecessary cases
2018-11-19 07:13:19 -05:00