From d7dbc7fc8e9c692fe9032d9f7738ffa59498034e Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 6 Dec 2014 11:15:00 -0500 Subject: signal: Add custom record type printer. * sly/signal.scm: Set record type printer for . --- sly/signal.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sly/signal.scm b/sly/signal.scm index 8e150a2..8e2c64d 100644 --- a/sly/signal.scm +++ b/sly/signal.scm @@ -24,6 +24,7 @@ (define-module (sly signal) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) + #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-26) #:use-module (sly agenda) #:use-module (sly coroutine) @@ -77,6 +78,15 @@ signal-box? (signal signal-unbox signal-box-set!)) +;; The user always sees the boxes, so let's hide the underlying +;; details. +(set-record-type-printer! + + (lambda (box port) + (let ((signal (signal-unbox box))) + (format port "#" + (%signal-ref signal) (signal-inputs signal))))) + ;; Alternate spelling of signal-box? for the public API. (define signal? signal-box?) -- cgit v1.2.3