On Sat, Jul 17, 2010 at 4:41 PM, Juan Jose Garcia-Ripoll <juanjose.garciarip...@googlemail.com> wrote: > On Thu, Jul 15, 2010 at 3:08 AM, Gabriel Dos Reis > <g...@integrable-solutions.net> wrote: >> >> Do you have a documentation for ECL's FASL format (and data structures)? > > Not really: read.d and more precisely read_VV document the process of > initializing a FASL file, while load.d shows how it is loaded. > > FASL files are just shared libraries. We do not use "formats" as such, but > just link together object files. > > Each object file contains a single initialization routine, which is just a C > function with the statements in the lisp file, compiled. > > This routine is called twice by read_VV. The first time it just returns a > structure (ecl_codeblock) with some fields filled in, such as the text > representation of all constants, the text representation of those constants > that are only used during initialization (and can be eliminated afterwards), > and some debug information. > > The second time, the init function executes the compiled statements I > mentioned before. Now all constants and packages have been set up and thus > the lisp code works just fine. Functions will be installed by the statements > that implement DEFUN, and macros, classes, and other things will be defined. > > But again, this is _how_ it works. There is no format as such. ECL just uses > whatever the operating system provides in terms of binary file formats, > system calls to load them, etc.
Many thanks. -- Gaby ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list