[armedbear-devel] Fwd: Is anybody interested in jfli-abcl?

Anton Vodonosov avodonosov at yandex.ru
Mon May 28 13:46:03 UTC 2012


[forwarding Alessio's reply to the list - was my mistake to send the previous letter
to him directly, instead of Reply All]
-----------------------------------------------------------------------------------------------------

28.05.2012, 17:25, "Alessio Stalla" <alessiostalla at gmail.com>:

On Mon, May 28, 2012 at 3:18 PM, Anton Vodonosov <avodonosov at yandex.ru> wrote:

>  28.05.2012, 17:08, "Alessio Stalla" <alessiostalla at gmail.com>:
>>  On Mon, May 28, 2012 at 2:57 PM, Anton Vodonosov <avodonosov at yandex.ru> wrote:
>>>   28.05.2012, 16:22, "Anton Vodonosov" <avodonosov at yandex.ru>:
>>>>   If independent version of new-class is not ready, probably it's possible to
>>>>   deliver runtime-class a a contrib [...]
>>>   I've checked the ABCL sources and see that runtime-class.lisp is now
>>>   included into ABCL. So we don't even need to create a contrib for it.
>>>
>>>   Could anyone help me understand the problem with new-class, why removing
>>>   it? Namely, when the asm.jar will be needed,
>>>
>>>   What I understand now:
>>>
>>>   1. abcl-jfli function jrc calls java:jnew-runtime-class.
>>>   2. java:jnew-runtime-class needs asm.jar.
>>  2. is wrong. jnew-runtime-class used to require asm, was disabled, and
>>  was reintroduced (incomplete) without a dependency to asm and with a
>>  slightly different API. In other words, jrc right now is probably
>>  broken.
>>
>>  To restore jrc right now, you'd need to restore runtime-class.lisp
>>  from version control, and bundle it in contrib under a different
>>  package (assuming it still works with present-day asm).
>  Ah I see, it's different runtime-class. Thanks for the explanation.
>>  That would be possible, but I object that having 2 different APIs for
>>  the same thing is a potential source for confusion.
>  Yes, but it's also the way of software evolution: we use some API,
>  notice it's deficiencies, deprecate it and introduce new, better
>  API. Let me note that it could have been called runtime-class2
>  to avoid confusion and compatibility issues.

Yes, maybe it could, but the situation as I saw it was that
runtime-class was effectively dead code nobody was using (and in fact,
until now nobody asked about it on this list).

>  Probably now, if packaging the old runtime-class as a contrib, we will
>  need to rename it to old-runtime-class, or even deprecated-runtime-class.

Or just deprecated:runtime-class, or backwards-compatibility:..., so
you can shadowing-import-from it and forget about it.

>  Could you explain about the asm.jar dependency in case of the
>  deprecated-runtime-class? Would it be a load-time dependency,
>  or a call-time dependency?

IIRC, it is a call-time dependency, but note that I never used the old
runtime-class, so I may be wrong.

Alessio

--
Some gratuitous spam:

http://ripple-project.org Ripple, social credit system
http://villages.cc Villages.cc, Ripple-powered community economy
http://common-lisp.net/project/armedbear ABCL, Common Lisp on the JVM
http://code.google.com/p/tapulli my current open source projects
http://www.manydesigns.com/ ManyDesigns Portofino, open source
model-driven Java web application framework




More information about the armedbear-devel mailing list