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 "support/counter.rkt")
(struct entity (id assert retract message sync)
(struct entity (id name assert retract message sync)
#:methods gen:custom-write
[(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
(#:_id [entity-id (generate-entity-id)]
#:name [entity-name '?]
#:assert [entity-assert #f]
#:retract [entity-retract #f]
#:message [entity-message #f]

View File

@ -20,12 +20,13 @@
(define-logger syndicate/dataspace)
(define (dataspace)
(define (dataspace #:name [name (gensym 'dataspace)])
(define handles (make-hash))
(define assertions (make-bag))
(define skeleton (make-empty-skeleton))
(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)
(define maybe-observe (parse-Observe value))
(hash-set! handles handle (cons value maybe-observe))