[mono-vb] Future of Mono's VB.NET

Jelmer Vernooij jelmer at samba.org
Thu Apr 20 12:03:55 EDT 2006

On Thu, 2006-04-20 at 09:52 -0400, Miguel de Icaza wrote:
>     The situation is that today's VB compiler is based on a fork of mcs
> circa 2002.  And although some of the improvements to mcs made it into
> mbas, they were not all incorporated.
>     To make things worse, the new VB.NET supports generics.   So we are
> wondering whether it would not be a better idea to start a fresh fork
> from gmcs (along the same proposal that Jambunathan had a year or so
> ago) and implement VB that way.  Lets call this effort "mbas2".
>     The idea would be to go in chunks: we could integrate individual
> commits that were done to the old mbas tree, and determine one by one
> whether it applies to mbas2.
>     Maybe not all of the code can be salvaged, but if we can get even
> 40% of the old code migrated into the new tree it would be a big plus.
>     Now, this might be insane, because once I was talking to someone on
> the VB.NET team and when I told them how mbas was written he said "I did
> not think that VB.NET could be implemented that way".   Maybe our
> approach is completely busted, but I do not know enough about VB.NET to
> know.  I just know that if the original mbas idea made sense, we should
> probably start from scratch.
I'm not convinced mbas should be a fork of mcs. 

Having it that way might make things more complicated then they have to
be. I'm not sure how much of the current code comes from mcs, but it
would make sense to just make mbas parse VB.NET code and then generate
the appropriate datastructures for the classes in gmcs. For example, I
don't think mbas should contain a 'Statement' class but should rather
use the one from gmcs directly (rather then import it). That should also
allow sharing of optimalizations. 

>     Now, since we are already too close to 1.2, we should probably
> develop this on a separate tree, to avoid breaking the build of
> "mono/mcs", so it should be another top level module in the Mono
> repository.  And we should probably also kill "mcs/bmcs" (at least we
> could retrieve the few patches that were done there).
Makes sense.

On a related matter - would you accept mbas-related proposals for SoC to
work on "mbas2"?


Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/

More information about the Mono-vb mailing list