[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,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]