From: farro (Rob Farrow)

Subject: configuring the internal pretty-printer

Date: 1998-6-11 10:53


One suggestion is to use ITERATE instead of LOOP. For those of us who
don't prefer the "non-sexp" way that loop keywords appear, Iter is a
well used alternative. It is not common lisp but it is widely ported. It
is also extensible, unlike Loop.

(iter
   (for p in primes)
   (until (> p max))
   (never (zerop (rem i p)))
   (finally
      (rplacd last (list i))
      (setq last (rest last))))

You will find ITERATE at most lisp FTP sites. 


Rob Farrow                             || There is no ultimate answer.
Phone: 972/480-2698 MSGID: RCFJ        || Only more revealing ways
Email: <ti.com at farrow>                   || of looking at the question.



Juanma Barranquero writes:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > (I'm using ACL4W release 3.0.2) > > Is there any way to configure the internal pretty-printer to do a > somewhat friendlier indenting *without* having to resort to the XP > pretty-printer? > > Currently, it (in re-indent, and not pretty-print, mode) indents one > of my test loops like that: > > (loop > for p in primes > until (> p max) > never (zerop (rem i p)) > finally > (rplacd last (list i)) > (setq last (rest last)))) > > And that doesn't seem to be that At the very least, the forms in the > finally clause should be indented a few spaces, I think. > > If I use the pretty-print mode, I get: > > (LOOP > FOR > P > IN > PRIMES > UNTIL > (> P MAX) > NEVER > (ZEROP (REM I P)) > FINALLY > (RPLACD LAST (LIST I)) > (SETQ LAST (REST LAST)))) > > which is even worse. > > Thanks, > > /L/e/k/t/u > > > -----BEGIN PGP SIGNATURE----- > Version: PGPfreeware 5.5.3i; see <http://www.pgpi.com> > > iQA/AwUBNX+T2f4C0a0jUw5YEQIM+gCfVk7VsKtqgwaD0Iw2qem+bIxxU+wAoOz5 > 1rLcMlmSKH2PnPWBHJQknlOV > =7Qzo > -----END PGP SIGNATURE----- >