Commit Graph

24 Commits

Author SHA1 Message Date
Tony Garnock-Jones 976741cd49 Cope with echo-server minimart-benchmark test: flat new-connection cost 2019-06-21 16:43:59 +01:00
Tony Garnock-Jones 5923bdd3ce Partial repair for a deep problem with visibility-restriction.
This change makes `during` work "atomically" across a communications
delay, by ensuring that a retracted assertion matching the `during`'s
pattern triggers the "stop on" clause in the expansion of the
`during`.

Some discussion of the change exists in the Journal and in my
notebook.
2019-06-18 17:56:09 +01:00
Tony Garnock-Jones 759bbdf1c3 Add visibility-restriction, making the test pass 2019-03-25 16:32:09 +00:00
Tony Garnock-Jones 836bae0e27 First JavaScript steps, based on HOWITWORKS.md 2018-10-21 00:58:40 +01:00
Tony Garnock-Jones 035eb06a9d Nope, unsafe-struct-ref is still not measurably faster than the safe variants 2018-10-20 21:47:47 +01:00
Tony Garnock-Jones a5d147e277 Avoid a few gratuitous conversions during `skeleton-modify!`. 2018-10-20 21:42:38 +01:00
Tony Garnock-Jones cbf5224599 Remove superfluous update-path helper 2018-10-20 19:13:07 +01:00
Tony Garnock-Jones 6e06c4d502 Fix bug exposed by previous commit 2018-10-20 19:09:25 +01:00
Tony Garnock-Jones 8ff6dc5ff8 Eliminate one set of dummy wrappers 2018-10-20 18:27:15 +01:00
Tony Garnock-Jones d3f27488ed Repair long-standing error in skeleton-walking. 2018-05-04 16:56:45 +01:00
Tony Garnock-Jones bc4c080641 Quasi-useful debug output 2018-05-04 16:04:42 +01:00
Tony Garnock-Jones ab64f71766 Restriction-paths: right idea (?), wrong implementation. This time maybe.
Instead of having restriction-paths as an adjunct to a change, they're
more propertly a part of each assertion itself. The new `skeleton.rkt`
keeps an optional restriction-path with each assertion, treating it as
distinct from its underlying assertion. The idea of not signalling
changes in assertions that have a restriction-path mismatch stays.
2018-05-04 15:55:53 +01:00
Tony Garnock-Jones 69a8893da3 Add the concept of "restriction-path", which limits assertion visibility.
This is used when relaying: because we don't have access to the full
term, but only the projection results, we are inserting various
`(discard)`s. This is the cause of the failure in
`test/core/nesting-confusion.rkt`.

By adding `restriction-path`, we allow the inner dataspace to avoid
showing a reconstructed term to endpoints that might be able to
observe the reconstructed parts.

An alternative implementation approach is to generalize patterns in
the inner relay actor, translating all `(discard)`s into captures,
which would give us all the relevant terms that we need. The way I've
chosen to go (or at least, to try out) allows us to potentially keep
the "efficient" idea of just transmitting pattern-bound values across
some network link connecting dataspaces. The alternative would require
transmission of the full assertions, eliding no irrelevant detail.
2018-05-03 22:09:33 +01:00
Tony Garnock-Jones 00d50e6700 Factor out assertion structure definitions 2018-05-03 16:14:30 +01:00
Tony Garnock-Jones e4e0b5f9d4 Support vector in patterns, like we already support list 2018-05-01 20:57:22 +01:00
Tony Garnock-Jones 3c4076287e Switch another in-hash to hash-for-each 2018-04-30 14:46:43 +01:00
Tony Garnock-Jones c2cb624e42 Another small speed bump from using hash-for-each over in-hash-keys 2018-04-30 10:04:33 +01:00
Tony Garnock-Jones 00121d9710 Avoid sets on the hot path (use hashes instead); good speed improvement 2018-04-30 09:32:08 +01:00
Tony Garnock-Jones eb3a93e32b Add in-* annotations to for loops 2018-04-30 09:14:00 +01:00
Tony Garnock-Jones dd2cddb6a7 Nested dataspaces 2018-04-29 14:54:14 +01:00
Tony Garnock-Jones efa7f517c4 Repair: it is incorrect to invoke retraction-handlers when retracting an interest 2018-04-22 21:04:22 +01:00
Tony Garnock-Jones 55f4b55784 Implement during and ad-hoc assertions 2018-04-19 17:55:52 +01:00
Tony Garnock-Jones 7f65d9e452 Fine-tune skeleton-accumulator representations for persistency/reuse and for potential speed benefit 2018-04-08 07:01:39 +01:00
Tony Garnock-Jones 2e67feee6d POC imperative dataspace implementation, with set-box example 2018-04-06 11:37:59 +01:00