BREAKING: Make domains part of the network.
I always keep bringing domains about for my network, which complicates things a lot. This commit packages the domains within the network, which will break a lot of stuff :-) The following commits will fix it all.
This commit is contained in:
parent
cde6ee30fa
commit
f414ae8966
1 changed files with 7 additions and 4 deletions
11
networks.rkt
11
networks.rkt
|
@ -14,10 +14,12 @@
|
|||
graph racket/random racket/hash)
|
||||
|
||||
(provide
|
||||
;; Structures
|
||||
(struct-out dynamics)
|
||||
;; Structures
|
||||
(contract-out [struct tbf/state ([weights (hash/c variable? number?)]
|
||||
[threshold number?])])
|
||||
[threshold number?])]
|
||||
[struct network ([functions (hash/c variable? procedure?)]
|
||||
[domains domain-mapping/c])])
|
||||
;; Functions
|
||||
(contract-out [update (-> network? state? (set/c variable? #:kind 'dont-care) state?)]
|
||||
[make-state (-> (listof (cons/c symbol? any/c)) state?)]
|
||||
|
@ -166,8 +168,9 @@
|
|||
;;; state.
|
||||
(define update-function/c (-> state? any/c))
|
||||
|
||||
;;; A network is a mapping from its variables to its update functions.
|
||||
(define network? (hash/c variable? procedure?))
|
||||
;;; A network is a mapping from its variables to its update functions,
|
||||
;;; together with the domains of the variables.
|
||||
(struct network (functions domains))
|
||||
|
||||
;;; Given a state s updates all the variables from xs. This
|
||||
;;; corresponds to a parallel mode.
|
||||
|
|
Loading…
Reference in a new issue