|
|
|
@ -561,186 +561,3 @@ interested in the `present` constructor.
@@ -561,186 +561,3 @@ interested in the `present` constructor.
|
|
|
|
|
itself, not just the index structures. For example, the care that |
|
|
|
|
must be taken regarding `cleanup-changes` and abandoning work |
|
|
|
|
during exception handling. |
|
|
|
|
|
|
|
|
|
<!-- |
|
|
|
|
|
|
|
|
|
# Example expansions |
|
|
|
|
|
|
|
|
|
Starting at the top. |
|
|
|
|
|
|
|
|
|
> (message-struct speak (who what)) |
|
|
|
|
> (assertion-struct present (who)) |
|
|
|
|
|
|
|
|
|
> (syntax->datum (expand-once '(on (message (speak $who $what)) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe (speak (capture (discard)) (capture (discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list struct:speak #f #f) |
|
|
|
|
'() |
|
|
|
|
(list) |
|
|
|
|
'((0 0) (0 1)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op who what) |
|
|
|
|
(when (eq? op '!) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
> (syntax->datum (expand-once '(on (asserted (present $who)) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe (present (capture (discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list struct:present #f) |
|
|
|
|
'() |
|
|
|
|
(list) |
|
|
|
|
'((0 0)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op who) |
|
|
|
|
(when (eq? op '+) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
> (syntax->datum (expand-once '(on (message `(speak ,$who ,$what)) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe (list `speak (capture (discard)) (capture (discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list 'list #f #f #f) |
|
|
|
|
'((0 0)) |
|
|
|
|
(list `speak) |
|
|
|
|
'((0 1) (0 2)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op who what) |
|
|
|
|
(when (eq? op '!) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
> (syntax->datum (expand-once '(on (asserted `(present ,$who)) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe (list `present (capture (discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list 'list #f #f) |
|
|
|
|
'((0 0)) |
|
|
|
|
(list `present) |
|
|
|
|
'((0 1)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op who) |
|
|
|
|
(when (eq? op '+) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
> (struct arp-query (protocol protocol-address interface-name link-address) #:prefab) |
|
|
|
|
> (syntax->datum (expand-once '(on (asserted (observe (arp-query $protocol $protocol-address interface-name _))) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe |
|
|
|
|
(observe |
|
|
|
|
(arp-query |
|
|
|
|
(capture (discard)) |
|
|
|
|
(capture (discard)) |
|
|
|
|
interface-name |
|
|
|
|
(discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list struct:observe (list struct:arp-query #f #f #f #f)) |
|
|
|
|
'((0 0 2)) |
|
|
|
|
(list interface-name) |
|
|
|
|
'((0 0 0) (0 0 1)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op protocol protocol-address) |
|
|
|
|
(when (eq? op '+) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
> (struct tabular-layout (row col) #:prefab) |
|
|
|
|
> (assertion-struct layout-solution (container-id spec size rectangle)) |
|
|
|
|
> (syntax->datum (expand-once '(on (asserted (observe (layout-solution container-id (tabular-layout $row $col) $size _))) (void)))) |
|
|
|
|
'(add-endpoint! |
|
|
|
|
(current-facet) |
|
|
|
|
"" |
|
|
|
|
#t |
|
|
|
|
(lambda () |
|
|
|
|
(if #t |
|
|
|
|
(values |
|
|
|
|
(observe |
|
|
|
|
(observe |
|
|
|
|
(layout-solution |
|
|
|
|
container-id |
|
|
|
|
(tabular-layout (capture (discard)) (capture (discard))) |
|
|
|
|
(capture (discard)) |
|
|
|
|
(discard)))) |
|
|
|
|
(skeleton-interest |
|
|
|
|
(list |
|
|
|
|
struct:observe |
|
|
|
|
(list |
|
|
|
|
struct:layout-solution |
|
|
|
|
#f |
|
|
|
|
(list struct:tabular-layout #f #f) |
|
|
|
|
#f |
|
|
|
|
#f)) |
|
|
|
|
'((0 0 0)) |
|
|
|
|
(list container-id) |
|
|
|
|
'((0 0 1 0) (0 0 1 1) (0 0 2)) |
|
|
|
|
(capture-facet-context |
|
|
|
|
(lambda (op row col size) |
|
|
|
|
(when (eq? op '+) |
|
|
|
|
(schedule-script! |
|
|
|
|
#:priority |
|
|
|
|
*normal-priority* |
|
|
|
|
(current-actor) |
|
|
|
|
(lambda () (begin/void-default (void))))))) |
|
|
|
|
#f)) |
|
|
|
|
(values (void) #f)))) |
|
|
|
|
|
|
|
|
|
--> |
|
|
|
|