aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ravanan/propnet.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/ravanan/propnet.scm b/ravanan/propnet.scm
index bea91fb..610991d 100644
--- a/ravanan/propnet.scm
+++ b/ravanan/propnet.scm
@@ -68,6 +68,12 @@
(optional-inputs propagator-optional-inputs)
(outputs propagator-outputs))
+(set-record-type-printer! <propagator>
+ (lambda (record port)
+ (display "#<<propagator> " port)
+ (write (propagator-name record) port)
+ (display ">" port)))
+
(define-immutable-record-type <scheduler>
(scheduler schedule poll capture-output)
scheduler?
@@ -90,6 +96,18 @@
(propagators-in-flight propnet-state-propagators-in-flight)
(propagators-inbox propnet-state-propagators-inbox))
+(set-record-type-printer! <propnet-state>
+ (lambda (record port)
+ (display "#<<propnet-state> cells: " port)
+ (write (run-with-state (propnet-state-cells record)) port)
+ (display " cells-inbox: " port)
+ (write (run-with-state (propnet-state-cells-inbox record)) port)
+ (display " propagators-in-flight: " port)
+ (write (run-with-state (propnet-state-propagators-in-flight record)) port)
+ (display " propagators-inbox: " port)
+ (write (run-with-state (propnet-state-propagators-inbox record)) port)
+ (display ">" port)))
+
(define (partition-map pred proc lst)
"Partition @var{lst} into two lists using @var{pred} like @code{partition}. Then,
map @var{proc} over both the lists and return the resulting lists."