Implemented indenting pretty-printer into S-expression + property-list syntax, as understood by Common LISP.
Implemented indenting pretty-printer into S-expression + property-list
syntax, as understood by Common LISP.

The printer uses reflection in order to keep up with any changes to the
syntax hierarchy underneath Absyn.  Reflection is slow, but so is
printing, ...so it doesn't matter.

It contains features for printing lists with less rightward drift, as
well as hiding whatever name is given to the field that encodes the
single useful value of single-value wrapper classes like IntExpr.

Subclasses that want to exploit the list functionality need to implement
the interface Iterable.
BayesianLogic/blog,BayesianLogic/blog,BayesianLogic/blog,BayesianLogic/blog,BayesianLogic/blog