This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

kawa now handles mutually dependent modules


I just checked in a major change to CVS in how modules are handled.
The immediate obvious advantages are:

(1) Cycles of modules that mutually require each other are now
supported.  The code generated is good - i.e. if module1 calls
a function in module2 and vice versa, the function calls are
optimized to direct module calls.  (And there is a test in the
testsuite that checks this, to avoid accidentally breaking
this feature.)

(2) If you compile a set of modules, you can give them in arbitrary
order on the command line, as long as if module A directly depends on
module B then module A has a require for module B.

In particular, this allows the Ant build.xml file to be simplified
a bit, since it is now ok to compile file files in kawa/lib in
alphabetic order, as Ant does by default.

Planned improvements include automatic re-compilation if a module
or a module it depends on, when re-loading a module, such as in a
web server.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]