[armedbear-devel] Automatic grovelling for (lisp-defined) autoloads

Alessio Stalla alessiostalla at gmail.com
Thu Aug 5 11:58:47 UTC 2010


On Thu, Aug 5, 2010 at 1:39 PM, Erik Huelsmann <ehuels at gmail.com> wrote:
> Today, I had an idea: what if we were to find all symbols which are
> being declared EXPORTED during the ABCL system compilation in each
> file? Then, we'd generate a list of all exported symbols and the files
> they are exported from. The given file would be included in our JAR.
> At boot-time, the file would be read and the appropriate autoloaders
> would be installed.
>
> The consequence would be that we would not need to maintain
> 'autoloads.lisp' anymore. It would require us to think better about
> which symbols need to be in the export lists, though. (I guess that's
> a good thing in the long run, though.) I'm thinking about groveling
> macro-expanded forms, because that would allow us to grovel clos.lisp
> and detect many of its exported symbols.

Sounds nice. However, are we sure that everything that's autoloaded
today is also exported? Wouldn't it be safer (and probably also
easier) if we remembered all function and macro definitions,
regardless of their symbol's export status? At least for functions I'm
sure we ultimately generate them in a single place (compile-file.lisp
iirc).

> Anybody up for the task? (I'm expecting it to be 4 or 5 evenings of work.)

I've been quite swamped in the last few days, but I should have enough
free time from now on for a while. Hacking on the class-file generator
comes first, though ;)

Bye,
Alessio




More information about the armedbear-devel mailing list