guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

syncase in boot-9


From: Andy Wingo
Subject: syncase in boot-9
Date: Sat, 25 Apr 2009 00:53:53 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux)

Hello all,

A brief note. I have syncase in boot-9, with define-macro implemented in
terms of syntax-case. This work can be found on the syncase-in-boot-9
branch.

It's not quite ready yet, as there are some Scheme bits that still don't
compile. I had to add docstring support to psyntax -- surprising to
learn that other Schemes don't do docstrings. But the current linguistic
sticking point are idioms like this:

(if (something) (define foo bar))

or

(if (defined? foo)
    (redefine foo)
    (define foo))

The latter is used in define-class for class redefinition. The former
could be replaced with:

(define bar (if (something) new-bar bar))

And the latter cases could probably be reimplemented using syntax-case
instead of defmacro, but it's still really a shame that definitions and
expressions are different things.

Anyway, if you want to give it a try, checkout the syncase-in-boot-9
branch, and make -k, to step over the noncompiling scheme files. It's a
work in progress, but I will not be rebasing it.

Cheers,

Andy
-- 
http://wingolog.org/




reply via email to

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