[plt-scheme] .Z* files in SLaTeX

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Fri Sep 10 08:13:49 EDT 2004

>> Since I'm in a multifile situation (these are lecture
>> slides/instructor-notes/condensed-handouts generated by a single file
>> of s-exprs processed via WebIt!)
>
>Way cool -- sounds like a lot of fun!

It was, really -- my introduction to Doing Something Real in Scheme,
and a nice way to reconcile the academic staff's "Do it in Word with
Macros on Windows" and the research faculty's "Do it in LaTeX on Unix"
with "Do it with S-expressions, which you need to know in order to
teach a course using Scheme, anyway." But I don't really know what I
am doing with WebIt! macros; I just tweaked Noel Welsh's Scheme-UK web
generator (and asked him to solve a namespace problem). Thus three
more questions occur to me.

1. When I read in the S-expression looking like
   (slide title: "My Talk"
     (p "My first point."))

   I realized that if I used read-syntax instead of read, I would get
   better error messages when I forget a parenthesis somewhere. 
   Indeed, my error message now gives the position of the error, 
   counting in characters from the beginning of the read file. 
   Is there some way I can get it to report line and column
   numbers, as DrScheme does with syntax errors in the Definitions
   window? I have only the vaguest idea of what a syntax object is.

2. Now, about those line- and column-numbered errors nicely reported
   in the Interactions window. How do I get DrScheme to take me there?
   Currently I am using binary search with the cursor, which is not
   very effective.

3. I know, thanks to SICP and other texts, about how to write a
   metacircular evaluator and how to implement Scheme on a register
   machine. (Or rather, I knew at one point, and can refresh the
   details if I have to.) I don't know how DrScheme does things; I
   only get tantalizing hints like Matthias's statement to the effect
   that "a closure only requires two cons cells". Is there a document
   describing the implementation at a high enough level so that if a
   keen student asks me what is really happening when this special
   form or that is evaluated, I can give them a reasonable answer?

Many thanks. I teach my first class in Scheme on Tuesday and I am
really looking forward to it, thanks to the excellent work by PLT and
friends. --PR


Posted on the users mailing list.