[Top][All Lists]

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

Re: [Chicken-users] google summer of code

From: Alaric Snell-Pym
Subject: Re: [Chicken-users] google summer of code
Date: Thu, 6 Mar 2008 11:27:22 +0000

On 6 Mar 2008, at 2:08 am, Ivan Raikov wrote:

  Well, I think modifying or rewriting the garbage collector would be
quite a lot of work for one summer, for someone who is presumably not
familiar with the Chicken internals. The rest I agree with. MPI is one
such multi-process model, and although it is often criticized for its
communication overhead, I would really like to see some examples
outside of scientific computing where this overhead really matters.

I wrote an efficient shared-memory lock-free queue system for a
client once. They own the copyright, but I would happily mentor a
student to build a somewhat more general and portable (this was
specific to a few platforms) version of it in C and wrap it in
chicken for lightweight interprocess goodness :-)

I'm also keen on a proper library/module system, though. I'd like to
be able to use multiple macro systems in the same source file, for a
start. So something where chicken itself has a notion of a macro
environment, and macro systems just register closures in an alist or
whatever that (define-syntax ...) dispatches on to convert whatever
the user supplies into a closure that rewrites syntax objects, then
when the macro is invoked, that closure can be applied to perform the
rewrite. Then the module system needs to know that there are two
environments - values and syntax - to expose from modules and import
into places, and all should be well. Surely?

In fact, I'm so keen on a module system that knows about macros and
lets me use multiple macro systems seamlessly, I was considering that
as soon as I have some money spare (soon... soon... please God let me
be out of debt soon...) I'd offer a bounty for whoever did it, as my
near future points to more of an excess of money than time!



Alaric Snell-Pym

reply via email to

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