William Ramsay scripsit:

> I've recently moved from Chicken-3.4.0  to Chicken-4.0.0.
> 
> I've been using a structure macro I got from /Teach Yourself Scheme in 
> Fixnum Days/ by Dorai Sitaram.    It's worked fine in 3.4 but fails in 
> 4.0 and I can figure out why.   It fails on line 4 of (define-syntax 
> define-structure) with a compile error starting that s is not a 
> symbol.    It is trying to read (define-structure customer ...) at the 
> bottom of the listing.   Why is the word customer no longer a symbol?

In Chicken 4, a bare lambda in define-syntax is an explicit-renaming
macro, so the simplest change is this:

> (define-syntax define-structure
>  (lambda (s . ff)

   (lambda body rename compare)
     (define s (car body))
     (define ff (cdr body))

-- 
Newbies always ask:                             John Cowan
  "Elements or attributes?                      http://www.ccil.org/~cowan
Which will serve me best?"                      co...@ccil.org
  Those who know roar like lions;
  Wise hackers smile like tigers.                   --a tanka, or extended haiku


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to