[racket] racket's template system: expand: unbound identifier

From: Eli Barzilay (eli at barzilay.org)
Date: Wed May 2 19:29:02 EDT 2012

The rationale for this is that you might write

  @foo[bar]
  { stuff }

where the stuff in braces is just text that is unrelated to the `foo'
call -- if a newline is allowed there, not only does it become easy to
do such mistakes, it's also hard to fix them.  You'd need some hack
like adding a "@;" comment just to separate them.


On November 26th 2011, Jay McCarthy wrote:
> The @-syntax is described in this part of the manual:
> 
> http://docs.racket-lang.org/scribble/reader.html
> 
> But I don't see any rationale for the required spaces. I presume it to allow
> all the various optional pieces to be left out in any order.
> 
> Jay
> 
> On Fri, Nov 25, 2011 at 10:02 PM, Daniel Bastos <dbastos at toledo.com> wrote:
> 
>     2011/11/25 Jay McCarthy <jay.mccarthy at gmail.com>:
>     > The lack of a space between ] and { is important. Notice that the
>     example in
>     > the documentation is
>     > @in[c clients]{
>     >    <tr><td>@(car c), @(cdr c)</td></tr>
>     >   }
>     > not
>     > @in[c clients] {
>     >    <tr><td>@(car c), @(cdr c)</td></tr>
>     >   }
>    
>     Indeed. Thanks. I wonder why there is such requirement. Does it avoid
>     a difficulty in the parser or scanner?

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the users mailing list.