I object to this patch. We have previously rejected code that sprinkles jnews and jcalls all over directory.java. I believe the proper way to introduce jar support for DIRECTORY would be to do it in the list-directory primitive in Pathname.java. At any rate, if we don't want that and want to do the jar logic in directory.lisp, then fine, add whatever primitives you need for the bare minimum, but _don't_ implement it as lisp code that only calls java code. That makes no sense (*).
(*) Yes, it may make sense for user code that has to call java. I don't, however, think it makes sense for abcl internals, or namely directory.lisp. It looks ugly as sin, and it prevents using the code in non-java environments, if such ever arrive. We have a design where lisp code calls primitives that provide the bare minimum support from the java side, I think we should stick to that design.
On 21 February 2010 02:26, Ville Voutilainen ville.voutilainen@gmail.com wrote:
I object to this patch. We have previously rejected code that sprinkles jnews and jcalls all over directory.java. I believe
that should be directory.lisp..
Alright. I didn't understand this sort of context before, but it certainly makes sense.
I'll revert/recode when I get a chance tommorow. Thanks for the review…
Tersely written from my iPod
On Feb 21, 2010, at 1:26 AM, Ville Voutilainen <ville.voutilainen@gmail.com
wrote:
I object to this patch. We have previously rejected code that sprinkles jnews and jcalls all over directory.java. I believe the proper way to introduce jar support for DIRECTORY would be to do it in the list-directory primitive in Pathname.java. At any rate, if we don't want that and want to do the jar logic in directory.lisp, then fine, add whatever primitives you need for the bare minimum, but _don't_ implement it as lisp code that only calls java code. That makes no sense (*).
(*) Yes, it may make sense for user code that has to call java. I don't, however, think it makes sense for abcl internals, or namely directory.lisp. It looks ugly as sin, and it prevents using the code in non-java environments, if such ever arrive. We have a design where lisp code calls primitives that provide the bare minimum support from the java side, I think we should stick to that design.
armedbear-devel mailing list armedbear-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
On 21 February 2010 02:55, Mark Evenson evenson@panix.com wrote:
Alright. I didn't understand this sort of context before, but it certainly makes sense. I'll revert/recode when I get a chance tommorow. Thanks for the review…
Oh, it doesn't need reverting - if it works, keep it in, and replace with better code in due course.
On 2/21/10 3:43 AM, Ville Voutilainen wrote: […]
Oh, it doesn't need reverting - if it works, keep it in, and replace with better code in due course.
I reverted: if we don't accept such patches, we shouldn't be "cheating" ourselves. Users that want to go "faster" than following the discipline of not using the Java FFI in system code can monkey-patch [[*]] like Alan does with LSW.
[[*] Not meant to be pejorative to Alan. Or monkeys, for that matter.
armedbear-devel@common-lisp.net