John Wiegley
94e0be3882
Reformat all sources with Brittany, to restore consistency
2019-03-17 14:47:38 -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
3c2801cbc7
More minor cleanup, add a new README-design.md
2019-03-16 11:41:48 -07:00
John Wiegley
85f32da4a4
Change signature of forceEff
2019-03-15 12:49:16 -07:00
John Wiegley
ba33d8c117
Further revision in Value.hs
2019-03-14 10:40:30 -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
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
eae6bf542f
Split MonadFreshId off into its own file
2019-03-10 08:58:27 -07:00
Ken Micklas
6a5718458d
Fix MonadFreshId instances in wrong places
2019-03-09 20:26:56 -05:00
Ken Micklas
d9293cf034
Fix Nix.Exec
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
842dadf6da
Use non-standalone GND for FreshIdT
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
John Wiegley
a6d753bbdd
Remove an unnecessary import
2019-03-09 16:00:30 -08:00
John Wiegley
b6dfaa22e9
Resolve a compile-time warning
2019-01-08 10:24:40 -08:00
Ryan Trinkle
6d2daf0ecd
WIP: Refactor MonadVar to use ref-tf's MonadRef instead
...
TODO:
* Upstream GEq (STRef s)
* Eliminate shim functions
2018-11-16 14:11:37 -05:00
John Wiegley
0613d1d604
Finish implementation of cycle detection during normalization
2018-08-10 17:50:07 -04:00
John Wiegley
8e664631e2
If an exception occurs when forcing a thunk, cleanup the "active" bit
2018-08-05 12:00:43 -04:00
John Wiegley
acda2b3337
Use Exception rather than Frame, reduce constraints imposed by forceThunk
2018-05-01 20:34:41 -04:00
John Wiegley
714c86adde
Make the thunk index parameter always available, if sometimes unused
2018-04-30 21:48:45 -04: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
e934695640
Add another functional dependency to MonadThunk
2018-04-21 18:17:53 -07:00
John Wiegley
44ff385c1d
Make the Deferred type Functor, Foldable and Traversable
2018-04-21 18:17:42 -07:00
John Wiegley
c1accf39f4
Some changes to the tracing info
2018-04-18 17:35:05 -07:00
John Wiegley
92217059b5
Add --flags=tracing, and document it in README.md
2018-04-18 16:28:21 -07:00
John Wiegley
1cb30042df
Add better tracing in Thunk.hs when <<loop>> is encountered
...
This relies on an unsafe global counter, so it's only available when
ENABLE_TRACING is defined.
2018-04-18 16:09:08 -07:00
John Wiegley
4c2eebbe40
Refactor evaluation using a type class
2018-04-09 00:52:10 -07:00
John Wiegley
31e6aa8fb9
Implement __curPos as a primitive action during evaluation
2018-04-07 16:35:11 -07:00
John Wiegley
a704bb045f
Commit the src/ directory
2018-04-07 12:02:50 -07:00