I'm still not clear on what exactly lazy top levels need to do
for Guile, but Donovan just did an interesting experiment for
RScheme (which compiles everything---by default, to bytecodes).
He implemented a lazy top level for simple autoloading.
(When a reference to an unbound function occurs, it searches for
a file by that name and loads it to get the function definition.)
It took about an hour to figure out and implement, and was 54 lines of
code. Naturally, a full-featured autoloader would be a little more
work, but not much.
--
| Paul R. Wilson, Comp. Sci. Dept., U of Texas @ Austin (wilson@cs.utexas.edu)
| Papers on memory allocators, garbage collection, memory hierarchies,
| persistence and Scheme interpreters and compilers available via ftp from
| ftp.cs.utexas.edu, in pub/garbage (or http://www.cs.utexas.edu/users/wilson/)
|