Commit Graph

42 Commits

Author SHA1 Message Date
Tony Garnock-Jones 3bbad3df6d Repair latent error of mismatched key types 2024-04-09 14:49:45 +02:00
Tony Garnock-Jones 9a0697e3c5 New dataspace pattern language. 2024-04-09 14:00:33 +02:00
Tony Garnock-Jones 6d1278fbb0 Adjust skeleton for extensible dataspace patterns 2024-04-04 15:16:45 +02:00
Tony Garnock-Jones 5d0d636f16 Happy new year 2024-03-10 12:43:06 +01:00
Tony Garnock-Jones 89353fa84f Happy new year 2023-01-16 15:57:29 +01:00
Tony Garnock-Jones 1b9eddc0b6 Update code to match latest schema changes 2022-01-20 09:54:07 +01:00
Tony Garnock-Jones d4d53fa9ba Bump copyright years 2022-01-16 09:48:18 +01:00
Tony Garnock-Jones 5ff75d05ab Remove name from DBind 2021-08-11 15:52:01 -04:00
Tony Garnock-Jones f2063997ec Update schemas to match new identifier restrictions. 2021-06-25 09:45:38 +02:00
Tony Garnock-Jones c40ba51a29 Oops! Omitted DBind case when extending index skeleton 2021-06-09 14:53:22 +02:00
Tony Garnock-Jones 2d07e46c67 Fix and add copyright notices 2021-06-04 16:20:14 +02:00
Tony Garnock-Jones 7be7c36537 Merge branch 'main' into novy 2021-06-04 16:19:41 +02:00
Tony Garnock-Jones 2a360bff32 Adjust copyrights 2021-06-04 15:56:03 +02:00
Tony Garnock-Jones c6d4d3acf1 Fix up copyright notices 2021-06-04 11:35:27 +02:00
Massimo Zaniboni 855b7835f6 Added license header to each source code file 2021-06-04 11:13:49 +02:00
Tony Garnock-Jones 4b1b2a9635 Proper skeleton-based dataspace 2021-06-03 15:59:17 +02:00
Tony Garnock-Jones 08c4980025 Move the bulk of the existing implementation out of the way 2021-05-27 10:34:35 +02:00
Tony Garnock-Jones f269c02c23 Rearrange for independent packages. 2020-04-27 20:27:48 +02:00
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