[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
implementation:
"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?
Regards,
Julian