On Tue, Sep 8, 2015 at 3:26 PM, Robert Goldman rpgoldman@sift.net wrote:
Well, the idea is as follows:
- LIB-OP collects all the .o files for your system in a .a
- DLL-OP collects all the .o files for your system in a .so
Now, on a C-based implementation, "all the .o files" means essentially all your system, whereas on other implementations, it means only C extensions that play the game (currently: none).
The idea is that you could always deliver a system (or a system + dependencies) in either one file (.fasl) or two files (.fasl and .so), depending on whether you're on ECL or another implementation.
I don't mean to be nitpicky, but this seems deeply wrong to me. It makes the semantics of the operation depend on the user's detailed knowledge of the implementation, and does two substantially different things: on a C-based system it's "return me a library version of the system," and on a conventional implementation, it's "return me a set of ancillary files as a library". Also, IIUC your previous email, the notion of what happens on a non-C-based implementation, basically doesn't work.
On a C-based system, it gives you a library with BOTH the lisp files *and* the ancillary files linked together. On a non-C-based system, it gives you only the ancillary files.
The semantics is "link all that can be linked".
The fact that on neither implementation does CFFI properly provide ancillary files is secondary. This can and should be fixed.
So right now, I think this is just an attractive nuisance on non C-based implementations. I'd rather not waste a user's time trying to make them work, or my time trying to maintain them. So I'd prefer we just disable LIB-OP and DLL-OP on implementations where they are not known to work. I.e., the burden of proof is a demonstration that they work, not a "you haven't shown that they DON'T work."
Please keep them for 3.1.6, and let's discuss what to do for 3.2 afterwards.
This is a conversation worth having, but I believe it shouldn't delay the release.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org It should be a grammatical if not legal offense to ascribe thoughts, opinions and decisions to "we" without a signed power of attorney.