File: pp.scm

package info (click to toggle)
slib 3a4-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,788 kB
  • ctags: 2,171
  • sloc: lisp: 28,038; makefile: 453; sh: 264
file content (13 lines) | stat: -rw-r--r-- 472 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
;"pp.scm" Pretty-Print
(require 'generic-write)
;@
(define (pretty-print obj . opt)
  (let ((port (if (pair? opt) (car opt) (current-output-port))))
    (generic-write obj #f (output-port-width port)
		   (lambda (s) (display s port) #t))))
;@
(define (pretty-print->string obj . width)
  (define result '())
  (generic-write obj #f (if (null? width) (output-port-width) (car width))
		 (lambda (str) (set! result (cons str result)) #t))
  (reverse-string-append result))