From: Hoehle, Joerg-C. <Joe...@t-...> - 2007-06-08 11:50:56
|
Hi, Sam steingold answered: >> Are FAS-files processor-independent?=20 >yes. This is an important feature to some, and I'm glad to see that Sam still is commited to portability of .fas files. Commiting to portability on user's .fas files has consequences on how CLISP implements some code. My pet example is: (defmacro ext:with-keyboard (&body body) ; in keyboard.lisp `(sys::exec-with-keyboard (lambda () (progn .,body)))) I.e. the body is wrapped in a thunk. WITH-KEYBOARD may not expand itself to some unwind-protect, because the details of the implementation vary across the supported platforms. Note however, that the .fas files that serve to build CLISP's image are not portable. They contain platform- and build-specific code. You are not guaranteed to be able to take e.g. init.fas from MS-Windows and use that on Linux. That implies that in a portability context, you'll need to have your future Zaurus lisp.run compile in interpreted mode all .lisp files that serve to build CLISP's lispinit.mem. That will need more RAM than when you start CLISP with a compiled lispinit.mem, so an emulator with plenty of RAM is a good thing. Some files may work. E.g. macros3.fas presumably, because it looks no different from user code. It does not depend on internals. Same for loop.fas. We simply do not want to specify exactly what file is portable and which is not. Regards, Jorg Hohle |