On Wed, May 5, 2010 at 11:20 AM, Sam Tobin-Hochstadt <sa...@ccs.neu.edu> wrote: > [redirecting to plt-dev] > > On Wed, May 5, 2010 at 12:37 PM, Matthew Flatt <mfl...@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 > sa...@ccs.neu.edu > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-dev > -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev