On May 27, 2009, at 1:59 AM, Grant Rettke wrote:
I have never used a system offers the ability to use compiled, cached code (or used the feature in system that do) so I am not sure what works for people. What do the Pythoneer and Emacs people find works well?
Python doesn't have macros, so, the library body cannot change depending on arbitrary expand-time computations. Emacs lisp has run-time macros, so, it cannot fully compile code ahead of time.
Could the policy be that if the source file is newer than the cached version, the source is recompiled? Perhaps that is too simplistic?
Currently, ikarus recompiles a library if its source is newer than the compiled version, or if any of the libraries it depends on has been recompiled. As Ramana said, this is not sufficient: you might want a library to be recompiled when something else happens, like when a third file changes, or when a database schema changes, or when an HTTP response you get from a central repository changes, or whatever. The general mechanism that I'm working on allows you to express these external dependencies. Aziz,,,
