From e43054a6bd3a0f92aa3c9b7d5bdc1eec072c2e53 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 1 May 2018 20:58:02 +0100 Subject: [PATCH] More thoughtless uncommenting of query-* forms --- syndicate/syntax.rkt | 112 +++++++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/syndicate/syntax.rkt b/syndicate/syntax.rkt index 382d423..ae4b70e 100644 --- a/syndicate/syntax.rkt +++ b/syndicate/syntax.rkt @@ -29,18 +29,18 @@ let-event query-value - ;; query-set - ;; query-hash + query-set + query-hash ;; query-hash-set ;; query-count query-value* - ;; query-set* - ;; query-hash* + query-set* + query-hash* ;; query-hash-set* ;; query-count* define/query-value - ;; define/query-set - ;; define/query-hash + define/query-set + define/query-hash ;; define/query-hash-set ;; define/query-count ;; immediate-query @@ -466,57 +466,57 @@ (F absent-expr)) F))])) -;; (define-syntax (query-set stx) -;; (syntax-parse stx -;; [(_ field-name args ...) -;; (quasisyntax/loc stx -;; (let () -;; (field [field-name (set)]) -;; (query-set* field-name args ...)))])) +(define-syntax (query-set stx) + (syntax-parse stx + [(_ field-name args ...) + (quasisyntax/loc stx + (let () + (field [field-name (set)]) + (query-set* field-name args ...)))])) -;; (define-syntax (query-set* stx) -;; (syntax-parse stx -;; [(_ field-name P expr on-add:on-add on-remove:on-remove) -;; (quasisyntax/loc stx -;; (let ((F field-name)) -;; (on (asserted P) #:priority *query-priority* -;; (let ((V expr)) -;; (when (not (set-member? (F) V)) -;; #,@(schedule-query-handler-stxs (attribute on-add.expr)) -;; (F (set-add (F) V))))) -;; (on (retracted P) #:priority *query-priority-high* -;; (let ((V expr)) -;; (when (set-member? (F) V) -;; #,@(schedule-query-handler-stxs (attribute on-remove.expr)) -;; (F (set-remove (F) V))))) -;; F))])) +(define-syntax (query-set* stx) + (syntax-parse stx + [(_ field-name P expr on-add:on-add on-remove:on-remove) + (quasisyntax/loc stx + (let ((F field-name)) + (on (asserted P) #:priority *query-priority* + (let ((V expr)) + (when (not (set-member? (F) V)) + #,@(schedule-query-handler-stxs (attribute on-add.expr)) + (F (set-add (F) V))))) + (on (retracted P) #:priority *query-priority-high* + (let ((V expr)) + (when (set-member? (F) V) + #,@(schedule-query-handler-stxs (attribute on-remove.expr)) + (F (set-remove (F) V))))) + F))])) -;; (define-syntax (query-hash stx) -;; (syntax-parse stx -;; [(_ field-name args ...) -;; (quasisyntax/loc stx -;; (let () -;; (field [field-name (hash)]) -;; (query-hash* field-name args ...)))])) +(define-syntax (query-hash stx) + (syntax-parse stx + [(_ field-name args ...) + (quasisyntax/loc stx + (let () + (field [field-name (hash)]) + (query-hash* field-name args ...)))])) -;; (define-syntax (query-hash* stx) -;; (syntax-parse stx -;; [(_ field-name P key-expr value-expr on-add:on-add on-remove:on-remove) -;; (quasisyntax/loc stx -;; (let ((F field-name)) -;; (on (asserted P) #:priority *query-priority* -;; (let ((key key-expr)) -;; (when (hash-has-key? (F) key) -;; (log-warning "query-hash: field ~v with pattern ~v: overwriting existing entry ~v" -;; 'field-name -;; 'P -;; key)) -;; #,@(schedule-query-handler-stxs (attribute on-add.expr)) -;; (F (hash-set (F) key value-expr)))) -;; (on (retracted P) #:priority *query-priority-high* -;; #,@(schedule-query-handler-stxs (attribute on-remove.expr)) -;; (F (hash-remove (F) key-expr))) -;; F))])) +(define-syntax (query-hash* stx) + (syntax-parse stx + [(_ field-name P key-expr value-expr on-add:on-add on-remove:on-remove) + (quasisyntax/loc stx + (let ((F field-name)) + (on (asserted P) #:priority *query-priority* + (let ((key key-expr)) + (when (hash-has-key? (F) key) + (log-warning "query-hash: field ~v with pattern ~v: overwriting existing entry ~v" + 'field-name + 'P + key)) + #,@(schedule-query-handler-stxs (attribute on-add.expr)) + (F (hash-set (F) key value-expr)))) + (on (retracted P) #:priority *query-priority-high* + #,@(schedule-query-handler-stxs (attribute on-remove.expr)) + (F (hash-remove (F) key-expr))) + F))])) ;; (define-syntax (query-hash-set stx) ;; (syntax-parse stx @@ -571,8 +571,8 @@ ;; F))])) (define-syntax-rule (define/query-value id ae P x ...) (define id (query-value id ae P x ...))) -;; (define-syntax-rule (define/query-set id P x ...) (define id (query-set id P x ...))) -;; (define-syntax-rule (define/query-hash id P x ...) (define id (query-hash id P x ...))) +(define-syntax-rule (define/query-set id P x ...) (define id (query-set id P x ...))) +(define-syntax-rule (define/query-hash id P x ...) (define id (query-hash id P x ...))) ;; (define-syntax-rule (define/query-hash-set id P x ...) (define id (query-hash-set id P x ...))) ;; (define-syntax-rule (define/query-count id P x ...) (define id (query-count id P x ...)))