Commit Graph

155 Commits

Author SHA1 Message Date
Edward Amsden
b03f398a69 [ares] [interpreter] wip siglus caching 2023-02-21 13:21:54 -06:00
Edward Amsden
5a885181ea [ares] [wip] add siglus (%memo) cache to treewalking interpreter 2023-02-21 12:52:39 -06:00
Edward Amsden
abfd642868 [ares] [hamt] jam and cue work with mutable hamt 2023-02-21 04:58:53 -06:00
Edward Amsden
e2743e24e7 [ares] [hamt] add mutable hamt for use within a single nockstack frame 2023-02-18 10:39:45 -06:00
Edward Amsden
dce5e74185 [ares][serialization] wip: use HAMT for jam and cue 2023-02-17 22:55:40 -06:00
Edward Amsden
bd44624e63 [ares][stack] make in_frame take a generic pointer 2023-02-17 19:26:28 -06:00
Edward Amsden
9140984333
Merge branch 'status' into eamsden/hamt 2023-02-17 16:28:11 -06:00
Edward Amsden
ec3a17af9c [ares][hamt] shift off 5 bits per level on insert, not 1 2023-02-17 15:15:23 -06:00
Edward Amsden
17ca8e43ad [ares] [hamt] fix bugs in chunk computations 2023-02-17 14:00:31 -06:00
Edward Amsden
c856d2f730 [ares] [hamt] mark bug in comment and reformat 2023-02-16 19:28:30 -06:00
Edward Amsden
4e422efecc [ares] rewrite HAMT entirely, more readable/less raw representation 2023-02-16 19:19:16 -06:00
Edward Amsden
646576dd56 [ares] [wip] hamt and trait-based object preservation on stack pop 2023-02-16 12:46:07 -06:00
Edward Amsden
abb3da7e6f
Merge pull request #28 from urbit/philip/equal
[ares] fix the Last Bug in unifying equality
2023-02-16 06:41:53 -06:00
Philip Monk
f4be9f30bf [ares] fix the Last Bug in unifying equality
The addition/subtraction is with respect to the polarity we matched on,
but the high and low pointers are with respect to the polarity we're
switching to .  The stack pointer is always at slot 0 (the outer slot)
and the frame pointer is always at slot 1 (the inner slot).
2023-02-16 05:18:58 -07:00
Edward Amsden
7ca6881b6a
Merge pull request #27 from urbit/philip/edit
[ares] fix bug in edit()
2023-02-16 03:45:21 -06:00
Philip Monk
342d55bafa [ares] fix bug in edit()
Relatively deep edits were producing incorrect results.
2023-02-15 22:41:05 -07:00
Edward Amsden
264fe4df6f
Merge pull request #26 from urbit/philip/unifying-equality
[ares] fix bug in unifying equality
2023-02-14 14:15:14 -06:00
Philip Monk
bb819abcc2 [ares] fix bug in unifying equality 2023-02-14 13:08:19 -07:00
Edward Amsden
82a08d878e
Merge pull request #24 from urbit/philip/equal
[ares] fix a couple bugs in unifying equality
2023-02-13 20:00:59 -06:00
Philip Monk
43f3622f63 [ares] fix a couple bugs in unifying equality
East/West typo, also we were setting the frame pointer to the stack
pointer while chasing up the stack.

This also refactors the conditionals in a way that I think is easier to
read.  We always have to do both calculations anyway.
2023-02-13 18:46:37 -07:00
Edward Amsden
b4418f0388
Merge pull request #23 from urbit/eamsden/update-rust
[ares] update rust compiler to 1.64
2023-02-13 19:27:19 -06:00
Edward Amsden
c68728edf1 [ares] update rust compiler to 1.64 2023-02-13 16:01:50 -06:00
Philip Monk
5edfc1a801
Merge pull request #22 from urbit/philip/persist
[ares] Add jam-based snapshots
2023-02-13 11:14:14 -07:00
Philip Monk
634680aa24 [ares] copy directly into atom in newt 2023-02-13 11:13:21 -07:00
Philip Monk
fe3c0895b2 [ares] comments and formatting 2023-02-13 10:57:13 -07:00
Philip Monk
ff59ca8ba9 [ares] rename new_tuple -> T, make D const 2023-02-13 10:39:08 -07:00
Philip Monk
dd4dc625bd [ares] harden snapshotting 2023-02-12 18:02:11 -07:00
Philip Monk
f16c194098 [ares] refactor snapshotting
Especially, don't require cueing the snapshot to verify the checksum and
get the event number.
2023-02-12 17:10:26 -07:00
Philip Monk
b9abb0efe8 [ares] extend jam perstistence to use two snapshots 2023-02-12 14:55:05 -07:00
Philip Monk
6d51c8c262 [ares] add simplest possible checkpoints
These checkpoints are just a jam file of your state, with the event
number and a checksum.  If you crash while writing the checkpoint, it
will be corrupt.  Obviously, these snapshots will be slow to write on a
real ship as well.
2023-02-11 23:04:39 -07:00
Philip Monk
51b4735711 [ares] fill out basic lifecycle
With these changes, you can boot the included "baby" pill -- a trivial
pill which requires no jets and prints the text "effect" on every event.
2023-02-11 17:28:14 -07:00
Philip Monk
1d6e4c74b2 [ares] add basic ipc handler 2023-02-11 02:51:59 -07:00
Philip Monk
e4f44d705c [ares] convenient noun constructors 2023-02-11 02:40:49 -07:00
Edward Amsden
9de96c8e85
Merge pull request #19 from urbit/eamsden/move-contributing
Move contribution guidelines to repository root and link from README
2023-02-06 11:54:49 -06:00
Edward Amsden
f67b7608fe
Update README to link to contribution guidelines 2023-02-05 17:09:09 -06:00
Edward Amsden
683bbaadef
Move contribution guidelines to repository root and link from README 2023-02-05 17:08:02 -06:00
Edward Amsden
2ab4070e1a
Merge pull request #18 from urbit/eamsden/CONTRIBUTING
Add brief CONTRIBUTING.md file
2023-02-04 08:47:41 -06:00
Edward Amsden
10b8166815
Merge branch 'status' into eamsden/CONTRIBUTING 2023-02-03 13:59:03 -06:00
Edward Amsden
716940c83d Add brief CONTRIBUTING.md file 2023-02-03 13:58:27 -06:00
Philip Monk
145a5632e2
Merge pull request #12 from urbit/philip/jets
"implement" "jet" "dashboard"
2023-02-03 12:52:46 -07:00
Philip Monk
7a3338cb19
Merge pull request #17 from urbit/i/15/tas-macro
Add tas!() procedural macro
2023-02-03 12:51:51 -07:00
Edward Amsden
5f3e5c1f12 Merge branch 'philip/jets' into i/15/tas-macro 2023-02-03 13:43:47 -06:00
Edward Amsden
1f2adf4b6a
Merge branch 'status' into philip/jets 2023-02-03 13:41:47 -06:00
Peter McEvoy
3de42389c1 Use tas!() when computing Nock 11 2023-02-03 12:19:32 -05:00
Philip Monk
7765c020cf [ares] rename %prop->%sham and add comment 2023-02-03 10:19:23 -07:00
Peter McEvoy
83b4fe308a Revert "Sort dependencies alphabetically"
This reverts commit 38fd034984.
2023-02-03 12:15:56 -05:00
Peter McEvoy
27f64b96ea Use tas!() in jets dashboard 2023-02-03 12:12:10 -05:00
Peter McEvoy
f41cf8cc38 Test tas!() 2023-02-03 12:12:08 -05:00
Peter McEvoy
d072c3ecea Implement tas!() in separate crate 2023-02-03 12:11:53 -05:00
Peter McEvoy
38fd034984 Sort dependencies alphabetically 2023-02-03 12:09:56 -05:00