[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pretty printer
- To: clisp-list@ma2s2.mathematik.uni-karlsruhe.de
 
- Subject: Re: pretty printer
 
- From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
 
- Date: Thu, 27 Jan 1994 17:27:46 +0100 (MEZ)
 
- In-reply-to: <9401271543.AA06018@ma2s2.mathematik.uni-karlsruhe.de> from "Bruno Haible" at Jan 27, 94 04:45:44 pm
 
Bruno wrote:
> 
> Joachim Schrod <schrod@iti.informatik.th-darmstadt.de> says:
> 
> > CLtL2, Chapter 27, describes a prettyprinting facility.
> 
> CLtL2, Chapter 27, describes the XP "pretty" printer.
First, thanks to the anon ftp site pointer. (I should have checked the
Lisp FAQ by myself. :( )
> > It may not be plug&play, we're not afraid of some programming work.
> 
> But decide first what you want. I will try a comparison between CLISP's
> pretty printer and XP as specified in CLtL2 and implemented in xp.lisp.
I need a prettyprinting facility that is programmable. Actually, I
need them for output of datastructures, not for Lisp programs. In
particular, that has the consequence that I must be able to influence
the current indentation.
Facilities like the `logical block' concept, the specification of
indentation and conditional breakpoints, and the pprint dispatcher
are helpful in this problem context. That was the reason I started to
look for extensible prettyprinters.
Since chapter 27, (ie XP, as I learned in the meantime), is simply a
Lisp realization of the abstraction beneath the classic
prettyprinting papers (Oppen [TOPLAS 2(4)], Rose/Welsh [SP&E
11(11)]), and since these abstractions were quite useful in other
projects I did, I thought I might use them. Did anybody have bad
experiences in using XP for output of data structures? (The
application at hand is the output of nested objects, where a
top-level object will cover approx. 40 lines.)
	Joachim
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany