[plt-scheme] Scribble Problem in PLT Scheme 4.1.5

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Apr 25 11:46:49 EDT 2009

Square brackets are better, but curly braces should still work. (The
`itemize' function throws out whitespace argument mingled with item
values, which is a kind of hack to support curly braces.) I think the
error that you're seeing is unrelated to {} vs. [].

What does the syntax error say?

At Sat, 25 Apr 2009 09:38:15 -0600, Doug Williams wrote:
> I read all of the Scribble documentation early on and got rather confused at
> the time. [I'm sure the documentation is much better now that when it was
> first rolled out.] I relied on trial and error to get things to work.
> Unfortunately, I got itemized lists working with braces and that's been my
> design pattern - unfortunately, my design pattern is wrong. I am curious why
> it broke though. My fear is that many of my packages no longer load.
> 
> On Sat, Apr 25, 2009 at 9:33 AM, Robby Findler
> <robby at eecs.northwestern.edu>wrote:
> 
> > If you want to understand why they work and why they don't work, I
> > recommend the section on @ in the scribble manual.
> >
> > Robby
> >
> > On Sat, Apr 25, 2009 at 10:33 AM, Doug Williams
> > <m.douglas.williams at gmail.com> wrote:
> > > Matthias pointed that out to me. Unfortunately, braces generally work,
> > too.
> > > In fact, that exact one worked until recently.  I'll go back and recode
> > them
> > > all at some point.
> > >
> > > On Sat, Apr 25, 2009 at 9:29 AM, Robby Findler <
> > robby at eecs.northwestern.edu>
> > > wrote:
> > >>
> > >> You want square brackets in the itemize, not {} ones. Itemize expects
> > >> item arguments only, but with the {} you get spaces and newlines and
> > >> things like that as well.
> > >>
> > >> Robby
> > >>
> > >> On Sat, Apr 25, 2009 at 10:04 AM, Doug Williams
> > >> <m.douglas.williams at gmail.com> wrote:
> > >> > I had the following in the Scribble documentation for the simulation
> > >> > collection.
> > >> >
> > >> > @defproc[(set-insert! (set set?) (item any/c) (priority real? 100))
> > >> > any]{
> > >> > Create a cell containing @scheme[item] and inserts it into
> > @scheme[set]
> > >> > with
> > >> > the given @scheme[priority] according to the type of the set.
> > >> >
> > >> > @itemize{
> > >> >   @item{@scheme[#:fifo]--- at scheme[item] is inserted at the end of
> > >> > @scheme[set].  The @scheme[priority], if provided, is ignored.}
> > >> >   @item{@scheme[#:lifo]--- at scheme[item] is inserted at the beginning
> > of
> > >> > @scheme[set].  The @scheme[priority], if provided, is ignored.}
> > >> >   @item{@scheme[#:priority]--- at scheme[item] is inserted into
> > >> > @scheme[set]
> > >> > according to the @scheme[priority].  If @scheme[priority] is not
> > >> > provided,
> > >> > the default value of @math{100} is used.}
> > >> >   }}
> > >> >
> > >> > That worked fine at the time version 3.3 of the simulation collection
> > >> > was
> > >> > built. [That was Nov. 27, 2008 according to the SVN log, but I'm not
> > >> > sure
> > >> > what version of PLT Scheme I had loaded at that time.] Now it gives a
> > >> > syntax
> > >> > error and points to the first item in the itemized list. Removing that
> > >> > one
> > >> > just moves the error the the second item.
> > >> >
> > >> > Moving the itemized list outside of the body of the defproc block
> > >> > removes
> > >> > the error. The closing brace (curly bracket) was moved from the end of
> > >> > the
> > >> > itemized list up before the itemized list.
> > >> >
> > >> > @defproc[(set-insert! (set set?) (item any/c) (priority real? 100))
> > >> > any]{
> > >> > Create a cell containing @scheme[item] and inserts it into
> > @scheme[set]
> > >> > with
> > >> > the given @scheme[priority] according to the type of the set.}
> > >> >
> > >> > @itemize{
> > >> >   @item{@scheme[#:fifo]--- at scheme[item] is inserted at the end of
> > >> > @scheme[set].  The @scheme[priority], if provided, is ignored.}
> > >> >   @item{@scheme[#:lifo]--- at scheme[item] is inserted at the beginning
> > of
> > >> > @scheme[set].  The @scheme[priority], if provided, is ignored.}
> > >> >   @item{@scheme[#:priority]--- at scheme[item] is inserted into
> > >> > @scheme[set]
> > >> > according to the @scheme[priority].  If @scheme[priority] is not
> > >> > provided,
> > >> > the default value of @math{100} is used.}
> > >> >   }
> > >> >
> > >> > Does anyone know what the problem is?
> > >> >
> > >> > The real problem is that building the Scribble documents failed when
> > the
> > >> > simulation collection was downloaded from PLaneT using PLT Scheme
> > 4.1.5.
> > >> > I've updated the PLaneT package so it loads now, but wonder if any
> > other
> > >> > packages have a similar problem.
> > >> >
> > >> > Doug
> > >> >
> > >> > _________________________________________________
> > >> >  For list-related administrative tasks:
> > >> >  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> > >> >
> > >> >
> > >
> > >
> >
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.