Remove silly identity-projection efficiency hack.
This commit is contained in:
parent
646b9b9197
commit
ef4d47c67a
|
@ -127,21 +127,13 @@
|
||||||
(define (compile-gestalt-projection . specs)
|
(define (compile-gestalt-projection . specs)
|
||||||
(compile-gestalt-projection* specs))
|
(compile-gestalt-projection* specs))
|
||||||
|
|
||||||
;; CompiledProjection
|
|
||||||
;; Represents a projection that simply captures the entirety of the
|
|
||||||
;; projected matcher; useful as an identity projection.
|
|
||||||
(define capture-everything-projection (compile-gestalt-projection (?!)))
|
|
||||||
|
|
||||||
;; Gestalt × Natural × Natural × Boolean × CompiledProjection → Matcher
|
;; Gestalt × Natural × Natural × Boolean × CompiledProjection → Matcher
|
||||||
;; Retrieves the Matcher within g at the given metalevel and level,
|
;; Retrieves the Matcher within g at the given metalevel and level,
|
||||||
;; representing subscriptions or advertisements, projected by capture-spec.
|
;; representing subscriptions or advertisements, projected by capture-spec.
|
||||||
(define (gestalt-project g metalevel level get-advertisements? capture-spec)
|
(define (gestalt-project g metalevel level get-advertisements? capture-spec)
|
||||||
(define extract-matcher (if get-advertisements? cdr car))
|
(define extract-matcher (if get-advertisements? cdr car))
|
||||||
(define l (safe-list-ref (gestalt-metalevel-ref g metalevel) level (lambda () empty-level)))
|
(define l (safe-list-ref (gestalt-metalevel-ref g metalevel) level (lambda () empty-level)))
|
||||||
(define matcher (extract-matcher l))
|
(matcher-project (extract-matcher l) capture-spec))
|
||||||
(if (equal? capture-spec capture-everything-projection) ;; efficiency hack. Avoid projecting by identity
|
|
||||||
matcher
|
|
||||||
(matcher-project matcher capture-spec)))
|
|
||||||
|
|
||||||
;; Gestalt -> Gestalt
|
;; Gestalt -> Gestalt
|
||||||
;; Discards the 0th metalevel, renumbering others appropriately.
|
;; Discards the 0th metalevel, renumbering others appropriately.
|
||||||
|
|
Loading…
Reference in New Issue