[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Re: first experiments with "simple-macros"
From: |
Zbigniew |
Subject: |
Re: [Chicken-users] Re: first experiments with "simple-macros" |
Date: |
Wed, 10 Aug 2005 23:08:49 -0500 |
I too am quite interested in a decent module system, especially after
kludging a few things in the sxml-tools egg to get around the lack of
one. I have a couple general questions/observations though:
- Startup time of either simple-macros or syntax-case is very long --
1.7s as opposed to 0.1s without it, and this is on a 1.5GHz machine.
So I am somewhat reluctant to use this very useful and fundamental
concept except for big, non-time-critical apps. Is there room for
much optimization, or is it near the limit?
- Does it make sense to release official eggs using one or the other
module system (assuming we pass the experimental phase)? The time and
the memory penalty give me pause---same reason I don't use TinyCLOS in
official stuff, seems silly to drag that much code in.
- Does it make sense, given the time and space penalty, to use a
module system at all for smaller projects? Obviously, we have gotten
by without one, but the advantages are tempting.
- I can't get define-macro to work with simple-macros (after importing
chicken-macros), but I'm sure this is my fault.
Don't get me wrong, it's highly interesting and I will experiment. I
am just wondering if the intent is to really USE it all over the
place, or if it will be relegated to occasional projects.
On 8/4/05, Michele Simionato <address@hidden> wrote:
>
> Yes, this is why I waited some time before trying it, to have things
> settled down for me ;) I read the first announcement on c.l.s. a while ago
> and I thought it was too good to be true. What I like the most is the
> module system, I have yet to test it seriously, but at least the
> description in the SRFI document makes sense and it is more or less
> what I had desired for a module system for my first day in Scheme
> (I remember at that time I escaped from the Mzscheme module system
> which I felt overcomplicated; I also hated the fact that it forced me
> to write macro definitions and helper functions in separate modules,
> for reasons that never convinced me). A thing I have always looked at
> with suspicion in Chicken (suspicion of being more complicated than
> needed) is eval-when: OTOH, van Tonder's system works in a pretty
> obvious and reasonable way (by default things are evaluated both
> at compile time and import time; if you want to evaluate things
> at compile time only you say so and if you want to evaluate things
> at import time only you say so: the quintessence of semplicity).
> Still I do not understand why things should be more complicated
> than that and which are the pittfalls of van Tonder's system (if any).