[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Geiser-users] Macro stepper?
From: |
Dmitry Pavlov |
Subject: |
Re: [Geiser-users] Macro stepper? |
Date: |
Fri, 28 Oct 2011 10:24:05 +0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 |
Hello Jose,
Thank you for your answer.
I tried to select the entire buffer and perform Geiser's
"macroexpand region", but it does not work, saying:
Error: retort-syntax
UNKNOWN::19310: read: #lang not enabled in the current context
Try selecting the lines _after_ this line. You can also try with
individual definitions first to see if they work (you'll need to compile
the file first (C-c C-k) so that Racket knows about it). The macro
expansions should take place in the context of your #lang, modulo bugs.
Still does not work...
I have the following code
#lang mylang
X := Y.
which expands into the following (I checked in DrRacket):
(module test mylang/language
(#%module-begin (assign X Y)))
and compiles well, thanks to the macro in language.rkt:
(define-syntax-rule (assign name value)
(printf "DBG: assigning ~v := ~v\n" 'name 'value))
As the same time, when I select the "X := Y." line in Emacs
and run "Geiser->Macroexpand->Region" on it (having already
compiled the whole file), I am getting the following
Error: struct:exn:fail:syntax
compile: bad syntax; function application is not allowed,
because no #%app syntax transformer is bound in:
(#<procedure:macroexpand> (quote (begin X := Y.)) #f)
But you'll have to be patient, submit patches or both
OK, for now I will go with being patient :)
Best regards,
Dmitry