Commit Graph

38 Commits

Author SHA1 Message Date
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