|
From: | Phil Bewig |
Subject: | Re: [Chicken-users] Defining defmacro using define-syntax |
Date: | Mon, 13 May 2019 13:28:38 -0500 |
The FermaT program transformation system is implemented in WSL
and translated to Scheme for compiling or interpreting.
It was originally developed using SCM scheme which uses defmacro
to define macros, eg:
(defmacro floop (name . body)
`(call-with-current-continuation
(lambda (,name)
(do () (#f #t)
,@body))))
(defmacro pop (v1 v2)
`(begin
(set! ,v1 (car ,v2))
(set! ,v2 (cdr ,v2))))
(defmacro push (v e)
`(set! ,v (cons ,e ,v)))
I am trying to port it to other Scheme versions. For bigloo
I can use define-macro to define defmacro as a macro:
(define-macro (defmacro name . forms)
\`(define-macro (,name . ,(car forms)) ,\@(cdr forms)))
Chicken scheme does not appear to have defmacro or define-macro
but does have define-syntax.
Is there a way to define defmacro using define-syntax?
--
Martin
Dr Martin Ward | Email: address@hidden | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4
_______________________________________________
Chicken-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users
[Prev in Thread] | Current Thread | [Next in Thread] |