[plt-dev] "poll": scribble syntax & indentation
On Mar 6, Robby Findler wrote:
> Did you consider having the scribble reader be more sophisticated
> with the strings it generates? That is, if a string comes from {} in
> Scribble (as opposed to "something" in a s-expression position --
> those don't get this special treatment), then it only puts enough
> spaces in to go from the { to the rest of the lines? (Well, probably
> it would have to start at the leftmost position in the {}, but let
> me illustrate).
>
> Eg:
>
> @f{a
> b
> c}
>
> would be (f "a\nb\nc") instead of (f "a\n b\n c").
> [...]
It already does that, for example, try these two:
#lang at-exp scheme/base
'@f{a
b
c}
'@f{a
b
c}
'@f{
a
b
c}
It's slightly different than what you suggest in that it keeps
separate "\n" strings so it's easy for functions that want to do some
line-based processing. (And these "\n" are parsed as string syntax
objects with a property that contains the original string exactly, so
you can still get a "real verbatim" effect.)
I'm happy to have made it this way, because including the text with
the spaces would make things impossible to use sanely. (Same reason
as above: the indentation would come from the place where a function
happens to be defined, so spaces would be pretty much random.)
On Mar 6, Robby Findler wrote:
> Hm. I don't know who messed up the indentation below, but the first
> example should look like the output of this expression:
>
> (display "@f{a\n b\n c}")
(Looks like your mail client messed up showing it to you, it was
perfectly fine in the email you sent...)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!