chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] define-syntax available *by default*?


From: felix winkelmann
Subject: Re: [Chicken-users] define-syntax available *by default*?
Date: Tue, 2 Nov 2004 07:48:14 +0100

On Fri, 29 Oct 2004 11:14:20 +0100, Tony Garnock-Jones
<address@hidden> wrote:
> felix winkelmann wrote:
> > Please give me some days to think about it (I'm currently traveling,
> > so I'm not able to commit any changes in te next days).
> 
> That sounds fair :-)
> 

Alas, I think syntax-case should not be the default. The problem is that
defmacro macros can be compiled into the code, but psyntax macros
have to be parsed at runtime, which results in (depending on machine
performance) annoying startup delays. Especially for she-bang scripts
this can be somewhat annoying. Additionally, there are some ugly
warts regarding the integration of psyntax into Chicken, like eval-when
and define-values. Also line-number information (which isn't great
to begin with) is not properly retained when compiling code in
hygienic mode.

So to provide at least a little help, here a few tips for having -hygienic
in most cases:

- set CSI_OPTIONS to "-hygienic" (and/or CHICKEN_OPTIONS) to 
  make the the default for csi/chicken/csc
- use -script-meta for scripts that use syntax-case (alternatively
  use -r5rs (or -hygienic -strict) instead of -hygienic, if you only need 
  basic r5rs macros - this speeds up parsing of the builtin macros
  a little

It's not much, I admit. But unless I put some time into serious hacking
of the psyntax sources (which is a bit involved), I think things should
be as they are now.


cheers,
felix




reply via email to

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