about summary refs log tree commit diff
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."