Home » Archived » B3 » b3 status
b3 status [message #543611] |
Wed, 30 June 2010 04:01  |
Henrik Lindberg Messages: 2509 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  |
Henrik Lindberg Messages: 2509 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  |
Henrik Lindberg Messages: 2509 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
|
|
|
Goto Forum:
Current Time: Fri Dec 08 17:27:17 GMT 2023
Powered by FUDForum. Page generated in 0.02106 seconds
|