From 88d246b5421fc450be9f05b418a3f55c53117bd2 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 20 Jun 2025 12:27:31 +0100 Subject: propnet: Add record printers. * ravanan/propnet.scm (, ): Add record printers. --- ravanan/propnet.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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! + (lambda (record port) + (display "#< " port) + (write (propagator-name record) port) + (display ">" port))) + (define-immutable-record-type (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! + (lambda (record port) + (display "#< 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." -- cgit v1.2.3