(declare (usual-integrations)) (define (make-line-prefix-port port prefix) (make-port line-prefix-port-type (vector port prefix #t))) (define line-prefix-port-type (make-port-type `((write-char ,(lambda (port char) (let ((v (port/state port))) (let ((port (vector-ref v 0)) (prefix (vector-ref v 1))) (if (vector-ref v 2) (write-string prefix port)) (write-char char port) (vector-set! v 2 (char=? char #\newline))))))) #f)) (define ((pp-line-prefix prefix) object #!optional port . rest) (let ((port (make-line-prefix-port (if (default-object? port) (current-output-port) port) prefix))) (apply pp (cons object (cons port rest))))) (define pp-comment (pp-line-prefix ";")) (set! repl:write-result-hash-numbers? #f)