[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jul 2 19:25:55 1999 
Subject:Re: Can poplog make a fasl? 
From:Lieven Marchand 
Volume-ID:990702.02 

Aaron.nospam.Sloman@cs.bham.ac.uk (Aaron Sloman See text for reply address) writes:

> Greg Funaro <Gregory.Funaro@hsv.boeing.com> writes:
> 
> > Date: Thu, 1 Jul 1999 00:58:03 GMT
> > Organization: The Boeing Company
> >
> > I can't seem to find any documentation on creating a fasl.
> >
> > Can I creat a fasl file in poplog?
> >
> > Thanks,
> >
> > Greg
> 
> I guess most of us have no idea what a FASL is. I looked it up in
> the index to the Common Lisp manual (2nd edition) and in three other
> books on Lisp and could find nothing.
> 
> I have a hunch (I don't know why?) that it refers to an external
> machine-code file produced by the compiler: I understand that in
> some lisp systems the compiler works by producing such a file, which
> can then be linked into the running lisp system. (A corrollary is
> presumably that compiled functions cannot be automatically garbage
> collected?)
> 

Sort of. FASL stands for fastload. It is indeed used in order to avoid 
having to recompile from source when you want to load a subsystem. On
my system for example the fasl for clx (X client library) is 1598110 bytes 
and compiling it from source takes considerable time. On the other hand it
is not needed for every program. So bundling it in would be a waste and 
making different versions of the lisp system with different stuff compiled
in would give rise to a combinatorial explosion of different lisp executables.
Although it isn't in the standard, (almost) every lisp implementation has a
auto-load feature: you can compile subsystems to fasls and have these 
autoloaded in the running lisp system when a function that is defined in the
fasl gets called.

I don't get your remark about gc-ing compiled functions. How can the system
ever decide to remove defined functions on it own? If in CL you do stuff
like (fmakunbound 'foo) or (drop-package "MY-PACKAGE") the function foo or
all the functions in MY-PACKAGE will indeed be gargage collected. 

Ob-Pop: how are the negotiations for a public version of POPLOG going?

-- 
Lieven Marchand <mal@bewoner.dma.be>
If there are aliens, they play Go. -- Lasker