[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] Defining defmacro using define-syntax
From: |
Martin Ward |
Subject: |
[Chicken-users] Defining defmacro using define-syntax |
Date: |
Mon, 13 May 2019 19:11:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
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] Defining defmacro using define-syntax,
Martin Ward <=