diff options
author | Arun Isaac | 2025-06-20 12:27:31 +0100 |
---|---|---|
committer | Arun Isaac | 2025-06-26 14:50:27 +0100 |
commit | 88d246b5421fc450be9f05b418a3f55c53117bd2 (patch) | |
tree | b9e9d1494a6bace763cdb2aea599dd29c80bf243 | |
parent | 2b90e57c16a31dd65c949a247b482134fba4a9b4 (diff) | |
download | ravanan-88d246b5421fc450be9f05b418a3f55c53117bd2.tar.gz ravanan-88d246b5421fc450be9f05b418a3f55c53117bd2.tar.lz ravanan-88d246b5421fc450be9f05b418a3f55c53117bd2.zip |
propnet: Add record printers.
* ravanan/propnet.scm (<propagator>, <propnet-state>): Add record
printers.
-rw-r--r-- | ravanan/propnet.scm | 18 |
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." |