[plt-dev] Re: [plt-bug] all/10895: quasiquote printing is buggy, confusing

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed May 5 13:31:37 EDT 2010

On Wed, May 5, 2010 at 11:20 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> [redirecting to plt-dev]
> On Wed, May 5, 2010 at 12:37 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>>> If we're going to have constructor-style printing of
>>> structures, why not use the same for lists, vectors, and so on?
>> From http://list.cs.brown.edu/pipermail/plt-dev/2010-April/002538.html :
>>  Printing with `quasiquote', meanwhile, mostly preserves the Lisp
>>  tradition of printing values that represent expressions as the
>>  expressions that they represent.
> I, like Carl, find the new quasiquote printing very confusing.
> Constructor-style printing for structures is great, and I like that
> we've switched to that.

Me too.

> But I think the semi-quasiquote style
> printing is a mistake. As Carl said in the initial bug report, `(,(foo
> 1 2)) is a lot of notation.  I'd much prefer (list (foo 1 2)),

At the very least have a little optimization that looks for quoted
lists where every element is evaluable.

> avoiding the quoting and unquoting entirely.  I don't see how the
> quote from your earlier message suggests one printed form over the
> other - the Lisp tradition is to print `read'able forms, and we're
> switching to `eval'able forms.  I don't see a reason from tradition to
> go with one `eval'able form over another, and I find the
> quasiquote-style very hard to parse visually.
> As a slightly-related issue, I think mutable pairs are currently
> handled incorrectly by the printer, since they should print as (mcons
> a b) but instead print as {a . b}.
> --
> sam th
> samth at ccs.neu.edu
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-dev

Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the dev mailing list.