Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » B3 » b3 status
b3 status [message #543611] Wed, 30 June 2010 04:01 Go to next message
Henrik Lindberg is currently offline Henrik LindbergFriend
Messages: 2500
Registered: July 2009
Senior Member
Hi,
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
negative errors.

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
guice.

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.

Regards
- henrik
Re: b3 status [message #544208 is a reply to message #543611] Fri, 02 July 2010 02:21 Go to previous message
Henrik Lindberg is currently offline Henrik LindbergFriend
Messages: 2500
Registered: July 2009
Senior Member
Yesterday I continued the work and it was now much easier to find the
cause of the long outstanding remaining issue. All tests are green since
yesterday.

I continued the cleanup by removing all the old code that moved to the
new evaluator and type inference. That is also checked in since yesterday.

More cleanup - I have deleted the projects o.e.b3.backend [ test, edit,
editor ] - please remove these from your workspaces before updating to
head (SVN will probably slap you and not let you update them, and if you
keep them you will see hundreds of errors...)

The packages backend.edit and backend.editor were 100% generated and not
used, while backend.test had lots of obsolete tests that would require a
lot of work to make them compile again (the tests in b3 source have
better coverage anyway).

They are available on a tag if someone would ever want them, but they
are now deleted from the trunk of b3.

- henrik

On 6/30/10 6:01 AM, Henrik Lindberg wrote:
> Hi,
> 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
> negative errors.
>
> 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
> guice.
>
> 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.
>
> Regards
> - henrik
Re: b3 status [message #611406 is a reply to message #543611] Fri, 02 July 2010 02:21 Go to previous message
Henrik Lindberg is currently offline Henrik LindbergFriend
Messages: 2500
Registered: July 2009
Senior Member
Yesterday I continued the work and it was now much easier to find the
cause of the long outstanding remaining issue. All tests are green since
yesterday.

I continued the cleanup by removing all the old code that moved to the
new evaluator and type inference. That is also checked in since yesterday.

More cleanup - I have deleted the projects o.e.b3.backend [ test, edit,
editor ] - please remove these from your workspaces before updating to
head (SVN will probably slap you and not let you update them, and if you
keep them you will see hundreds of errors...)

The packages backend.edit and backend.editor were 100% generated and not
used, while backend.test had lots of obsolete tests that would require a
lot of work to make them compile again (the tests in b3 source have
better coverage anyway).

They are available on a tag if someone would ever want them, but they
are now deleted from the trunk of b3.

- henrik

On 6/30/10 6:01 AM, Henrik Lindberg wrote:
> Hi,
> 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
> negative errors.
>
> 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
> guice.
>
> 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.
>
> Regards
> - henrik
Previous Topic:Build Update Site
Next Topic:Aggregator usage for composite metadata repositories
Goto Forum:
  


Current Time: Sun Nov 23 06:17:01 GMT 2014

Powered by FUDForum. Page generated in 0.29597 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software