|b3 status [message #543611]
||Wed, 30 June 2010 00:01
| Henrik Lindberg
Registered: July 2009
The last couple of days I have been doing a major revision of the b3
evaluator and type inference. I just checked in a first version of this.
One long outstanding issue was fixed in the process, while one still
remains (i.e. all tests except one are now green).
There will be one more big overhaul removing code that is no longer
used, and fixing issues with validation in the editor that reports false
The new implementation has broken out evaluation and type inference from
the model and can now be composed and injected using guice. This means
that it is possible to have different configuration for different
commands in the user interface for testing, debugging, or special
purpose stuff (such as debugging the engine itself).
For those really interested, look at the B3BuildEvaluator class, and its
superclass for how evaluation works, and B3BuildTypeProvider class for
type inference. Making good use of Xtext Polymorphic dispatching. Also
look at the DefaultB3Module where the build engine is configured using
Even if the implementation is a little rough around the edges (need a
refactoring session on packages :-/, as well as removing some ugly
constructs bridging between non guice injected code and the rest, as
well as some concerns related to evaluation and typing that remain in
the model), I am quite happy though as I think this is a decent start on
using type inference.