This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: "Magic" Variables?


Maciej Stachowiak <mstachow@mit.edu> writes:

> I am almost tempted to implement something like Common Lisp's
> symbol-macrolet special form and eval the config file inside a big
> symbol-macrolet.

Well, if you are that, I can tell you that Guile already have that
functionality.  :)

The code below causes

  x --> Hi!
        17

(define-module (test)
  :use-module (ice-9 syncase))

;;; The following line enables macro expansion of all forms
(use-syntax syncase)

(define x-val 17)

(define-syntax x
  (lambda (exp)
    (syntax-case exp ()
      (k (identifier? (syntax k)) (syntax (begin (display "Hi!\n")
						 x-val))))))