More exports and utilities

This commit is contained in:
Tony Garnock-Jones 2014-05-13 23:08:42 -04:00
parent 4711069f36
commit f788caf754
2 changed files with 21 additions and 1 deletions

View File

@ -13,11 +13,21 @@
(struct-out quit)
(struct-out process)
(struct-out transition)
? ;; imported from route.rkt
;; imported from route.rkt:
?
wildcard?
?!
capture?
sub
pub
gestalt-union
gestalt-ref
compile-gestalt-projection
gestalt-project
gestalt-project->finite-set
spawn
send
feedback

View File

@ -8,12 +8,16 @@
(provide (struct-out gestalt)
gestalt-ref
compile-gestalt-projection
gestalt-project
gestalt-project->finite-set
drop-gestalt
lift-gestalt
simple-gestalt
gestalt-empty
gestalt-combine
gestalt-combine-straight
gestalt-combine-crossed
gestalt-union
gestalt-intersect
gestalt-filter
@ -60,9 +64,15 @@
(define p (safe-list-ref v level (lambda () '(#f . #f))))
((if get-advertisements? cdr car) p))
(define (compile-gestalt-projection spec)
(compile-projection spec))
(define (gestalt-project g metalevel level get-advertisements? capture-spec)
(matcher-project (gestalt-ref g metalevel level get-advertisements?) capture-spec))
(define (gestalt-project->finite-set g metalevel level get-advertisements? capture-spec)
(matcher->finite-set (gestalt-project g metalevel level get-advertisements? capture-spec)))
(define (drop-gestalt g)
(match-define (gestalt metalevels) g)
(if (null? metalevels) g (gestalt (cdr metalevels))))