This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Source for wiki DefineSyntaxDefines version 4

author

cowan

comment


    

ipnr

127.11.51.1

name

DefineSyntaxDefines

readonly

0

text

I tried out

{{{
(define-syntax foo
    (syntax-rules ()
      ((foo) (define x 32))))
(foo) => ???
x => ???
}}}

to see whether I got 32 as the value of x or blew up on an error such
as invalid syntax (in the define-syntax) or undefined variable.

Racket, MIT, Gambit, scsh/Scheme48, SISC, Chez, !Ikarus/Vicare, Ypsilon, Mosh !IronScheme, NexJ, KSi, !SigScheme, Shoe, !TinyScheme, Dream, RScheme, S7, XLisp, Rep, Schemik, ELK, UMB, VX, Oaklisp, Llava, Sizzle, Spark, Femtolisp, Dfsch, Inlab, Owl Lisp, Sagittarius blew up (some of them because they don't support syntax-rules).

Gauche, Chicken, Bigloo, Guile, Kawa, Chibi, SCM, Larceny (in R5RS mode), Scheme 9,
STklos, !SigScheme, BDC, SXM, VSCM were fine with it and returned 32.

time

2014-12-28 08:23:13

version

4