Dave Cooper wrote:
For a conventional CL implementation I don't see the value of the monolithic fasls, although I suppose there would be some speed-up in loading. But I would guess that if that's what you care about, you would be better off using an image to load.
We use the monolithic fasls a lot, as part of our standard Gendl and GDL build process. The rationale for doing so is outlined here (slightly outdated article, I need to start blogging again!):
http://gendl.blogspot.com/2013/03/saving-images-with-asdf3.html
That's very interesting. I'm particularly intrigued by the fact that you are using the monolithic fasl not as something valuable in and of itself, but as a kind of crude tree-shaker intermediate step to build an executable image.
For those who haven't read the (very interesting) blog post, the key idea is that when you build the monolithic fasl, you get the functionality you wanted, without a lot of the infrastructure (e.g., quicklisp) that got you to the point of having the functionality.
I'm not that familiar with the way the Java world works, but I get the sense that something additional is going on there, where loading from jars is preferred to loading in some other way. I suppose that part of the reason is that if you package up your ABCL jars together with the jars for your application, then it looks to your consumer as if there's simply a standard java world application: if your user doesn't care, s/he never need know that Common Lisp is involved....
cheers, r