Yes, It is exactly what ypsilon doing. :-) -- fujita
On May 12, 4:36 pm, Abdulaziz Ghuloum <[email protected]> wrote: > On May 12, 2009, at 10:23 AM, Michele Simionato wrote: > > > Uhm ... so it looks like I was wrong again! > > I will let Fujita explain how Ypsilon is working, > > since I am obviously confused :-( > > It looks very simple, but Fujita can correct me if I'm wrong. > > When starting ypsilon with a script, the following happen in sequence: > 1. All imported libraries are loaded > 2. The script body is expanded > 3. The expanded body is evaluated. > > [in debug, expand-r6rs does 1 and 2 while run-r6rs does 1, 2, and 3.] > > To load a library, first map its name to file names (source and > precompiled) then, depending on the result: > * If it's not precompiled: > 1. All imported libraries are loaded > 2. The library body is expanded > 3. The expanded body is evaluated > 4. The results of the expansion (list of imported libraries, > expanded syntax definitions, variable definitions, and > initialization expressions) is compiled to some form and > serialized to disk. > * If it is precompiled: > 1. All imported libraries are loaded > 2. Precompiled library code (syntax definitions, variable > definitions, and initializing expressions) is evaluated. > > Aziz,,,
