Entity names

This commit is contained in:
Tony Garnock-Jones 2021-06-03 22:38:11 +02:00
parent 63720f80ba
commit 22bd461cdc
2 changed files with 6 additions and 4 deletions

View File

@ -59,12 +59,13 @@
(require "field.rkt") (require "field.rkt")
(require "support/counter.rkt") (require "support/counter.rkt")
(struct entity (id assert retract message sync) (struct entity (id name assert retract message sync)
#:methods gen:custom-write #:methods gen:custom-write
[(define (write-proc e port mode) [(define (write-proc e port mode)
(fprintf port "#<entity:~a>" (entity-id e)))]) (fprintf port "#<entity:~a:~a>" (entity-id e) (entity-name e)))])
(define-struct-defaults make-entity entity (define-struct-defaults make-entity entity
(#:_id [entity-id (generate-entity-id)] (#:_id [entity-id (generate-entity-id)]
#:name [entity-name '?]
#:assert [entity-assert #f] #:assert [entity-assert #f]
#:retract [entity-retract #f] #:retract [entity-retract #f]
#:message [entity-message #f] #:message [entity-message #f]

View File

@ -20,12 +20,13 @@
(define-logger syndicate/dataspace) (define-logger syndicate/dataspace)
(define (dataspace) (define (dataspace #:name [name (gensym 'dataspace)])
(define handles (make-hash)) (define handles (make-hash))
(define assertions (make-bag)) (define assertions (make-bag))
(define skeleton (make-empty-skeleton)) (define skeleton (make-empty-skeleton))
(define ds-e (define ds-e
(entity #:assert (action (value handle) (entity #:name name
#:assert (action (value handle)
(log-syndicate/dataspace-debug "~v + ~v ~v" ds-e handle value) (log-syndicate/dataspace-debug "~v + ~v ~v" ds-e handle value)
(define maybe-observe (parse-Observe value)) (define maybe-observe (parse-Observe value))
(hash-set! handles handle (cons value maybe-observe)) (hash-set! handles handle (cons value maybe-observe))