[Top][All Lists]

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

Re: pass at srfi-89 implementation

From: Julian Graham
Subject: Re: pass at srfi-89 implementation
Date: Sun, 25 May 2008 01:08:23 -0400

> It looks like the license terms would indeed allow us to do that.  I'm
> not sure whether there's a precedent including non-LGPL SRFI code as is,
> though.

Well, it wouldn't have to be 100% as-is -- aside from adding the
module declaration, there are some things I wouldn't mind tweaking a
bit, such as where the argument-parsing helper functions get declared
/ exported.

> Besides, we'd have to check whether the reference implementation, which
> targets Gambit's compiler, is suitable for Guile.

Having done a very quick and dirty integration, I can say that it
passes the rudimentary test suite I pulled from the SRFI document.  In
terms of whether it's suitable... well, Marc claims his implementation
isn't even suitable for Gambit, which apparently has a native

"To give a rough idea of the speed improvement, a trivial procedure
with 10 optional named parameters and called with 5 named parameters
runs 14 times faster and generates no garbage when the Gambit
compiler's builtin optional parameter passing mechanism is used."

I haven't benchmarked it against `(ice-9 optargs)', but it seems like
our options are: Use the reference implementation, optimizing it as
best we can for the peculiarities of Guile; write our own
implementation in Scheme or C that would exist in parallel with
`(ice-9 optargs)'; or enhance `(ice-9 optargs)' to allow a dependent
implementation such as the one I submitted to work correctly.

What do you think?


reply via email to

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