Add make-reaction.
This commit is contained in:
parent
6cf1505a61
commit
6518ae2fdd
2 changed files with 23 additions and 1 deletions
12
rs.rkt
12
rs.rkt
|
@ -4,7 +4,8 @@
|
||||||
(require typed/graph "utils.rkt" "dynamics.rkt")
|
(require typed/graph "utils.rkt" "dynamics.rkt")
|
||||||
|
|
||||||
(provide
|
(provide
|
||||||
Species (struct-out reaction) Reaction)
|
Species (struct-out reaction) Reaction
|
||||||
|
make-reaction)
|
||||||
|
|
||||||
(module+ test
|
(module+ test
|
||||||
(require typed/rackunit))
|
(require typed/rackunit))
|
||||||
|
@ -16,6 +17,15 @@
|
||||||
[products : (Setof Species)])
|
[products : (Setof Species)])
|
||||||
#:transparent
|
#:transparent
|
||||||
#:type-name Reaction)
|
#:type-name Reaction)
|
||||||
|
|
||||||
|
(: make-reaction (-> (Listof Species) (Listof Species) (Listof Species) Reaction))
|
||||||
|
(define (make-reaction r i p) (reaction (list->set r)
|
||||||
|
(list->set i)
|
||||||
|
(list->set p)))
|
||||||
|
(module+ test
|
||||||
|
(test-case "make-reaction"
|
||||||
|
(check-equal? (make-reaction '(a b) '(c d) '(e f))
|
||||||
|
(reaction (set 'b 'a) (set 'c 'd) (set 'f 'e)))))
|
||||||
)
|
)
|
||||||
|
|
||||||
(require graph "utils.rkt" "generic.rkt")
|
(require graph "utils.rkt" "generic.rkt")
|
||||||
|
|
|
@ -47,6 +47,18 @@ The type of the instances of @racket[reaction].
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@defproc[(make-reaction [r (Listof Reaction)]
|
||||||
|
[i (Listof Reaction)]
|
||||||
|
[p (Listof Reaction)])
|
||||||
|
Reaction]{
|
||||||
|
|
||||||
|
A shortcut for constructing @racket[Reaction]s using list syntax
|
||||||
|
instead of set syntax.
|
||||||
|
|
||||||
|
@ex[
|
||||||
|
(make-reaction '(a b) '(c d) '(e f))
|
||||||
|
]}
|
||||||
|
|
||||||
@section{Org-mode interaction}
|
@section{Org-mode interaction}
|
||||||
|
|
||||||
This section contains some useful primitives for
|
This section contains some useful primitives for
|
||||||
|
|
Loading…
Reference in a new issue