Entity names
This commit is contained in:
parent
63720f80ba
commit
22bd461cdc
|
@ -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]
|
||||||
|
|
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue