[plt-scheme] swindle, macros and v360
under v360
(define-syntax fred
(lambda (x)
(syntax-case x ()
[(_ n) #'(+ n 1)])))
compiles fine and gives:
Welcome to DrScheme, version 360.
Language: Swindle.
> (fred 1)
2
under v 370
Welcome to DrScheme, version 370 [3m].
Language: Swindle.
errortrace: unrecognized expression form at top-level: (lambda (x)
(let-values (((arg) (#%app datum->syntax-object (quote-syntax here)
x))) (let-values (((rslt) (#%app #?# arg))) (if rslt (let-values (#?#
#?#) (let-values () #?#)) (#%app raise-syntax-error (#%datum . #f)
(#%datum . "bad syntax") arg)))))
>
it's fine with language set to pretty big
Welcome to DrScheme, version 370 [3m].
Language: Pretty Big (includes MrEd and Advanced Student).
> (fred 1)
2
>
my macro-foo is not within sight of fixing this .....
is there a newer version of swindle, or have I made an error in the
macro which swindle is catching... but compile ok under pretty big?
thanks for any help
Cheers
Chris
--
A/Prof Chris Wright FJFICM FRACP MBBS
Medical Director, ICU
Monash Medical Centre
Clayton, VIC