diff --git a/syndicate/HOWITWORKS.md b/syndicate/HOWITWORKS.md index b74f0cb..72d776e 100644 --- a/syndicate/HOWITWORKS.md +++ b/syndicate/HOWITWORKS.md @@ -538,7 +538,7 @@ interested in the `present` constructor. dataspaces deduplicate!), the problem is that they don't have enough information to reconstruct the triggering outer assertion perfectly! So a visibility-restriction causes an assertion to - *only* trigger inner endpoints that capture *exactly* the + *only* trigger inner endpoints that capture *at most* the captures of the outer endpoint. One of the outer endpoints will trigger its "matching" inner endpoint, but not the inner endpoint of the other endpoint, even though you might expect the @@ -547,6 +547,15 @@ interested in the `present` constructor. constant-matching against literal `(discard)` in cases of visibility restriction. See commit b4f1d36 and test case `test/core/nesting-confusion-2.rkt`. + - HOWEVER see notes from 2019-06-18 in the googledoc Journal as + well as in my notebook. See also commit 5c514b7 from + imperative-syndicate and e806f4b from syndicate-js. The + opaque-placeholders make the distributed (= non-zero-latency) + case of visibility-restriction handling problematic in general, + though relaxing the constraint from exact match of captured + positions to at-most-match of captured positions allows at least + the `during` special case to work in a programmer-unsurprising + way. - there's more to say about the implementation of the *dataspace* itself, not just the index structures. For example, the care that