[Top][All Lists]

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

Re: [Chicken-users] hygienic branch (progress report, sort of)

From: Ivan Raikov
Subject: Re: [Chicken-users] hygienic branch (progress report, sort of)
Date: Thu, 15 May 2008 09:17:01 +0900
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)


    Thanks for your ongoing efforts to improve Chicken, I think
hygienic compilable macros is definitely the way
forward. Unfortunately, I am rather fond of pattern matching, and this
is the ML feature that I miss the most in Scheme. Most of my eggs will
break without pattern matching, and a few of them depend very heavily
on it. Is there anything I can do to use pattern matching in the new
hygienic Chicken?


"felix winkelmann" <address@hidden> writes:

> Hi!
> It's silent in here.... So, let me use this moment to give
> some progress info on the state of the "hygienic"
> chicken that I'm currently working on. In
> you'll find a modified version of chicken that has been completely
> converted to hygienic macros (syntax-rules + explicit-renaming).
> It doesn't incorporate all recent changes from trunk, but should
> be fairly up to date. "define-macro" is gone (also some things
> ("define-record", "define-foreign-enum" and "define-foreign-record")
> that where currently difficult to implement or just in the way -
> these may be added back later) as it will not work reliably
> in an hygeinic environment. The macro system has been heavily
> overhauled and partially "de-optimized" to have cleaner, more
> maintainable code. Macros can now generally be compiled to native
> code (using the "compile-syntax" declaration (which replaces the
> now deprecated "run-time-macros" declaration), or with
> "define-compiled-syntax") and all restrictions like the interaction
> of "eval-.when", "include" and "cond-expand" with "define-syntax"
> should be removed. Non-contiguous local definitions, local
> "define-syntax", DSSSL lambda-lists and curried define should
> work now everywhere.

reply via email to

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