[Mono-dev] [Mono-list] [mono-vb] Visual Basic upgrade.

Miguel de Icaza miguel at novell.com
Sat Aug 19 11:43:49 EDT 2006


> > > The vbnc compiler is currently emitting 2.0 assemblies, and regarding
> > > the two issues for it to emit 1.0/1.1 assemblies the first one is the
> > > easiest (the only feature that would have to be disabled is generics,
> > > VB8 does not support directly nullable types like C# - and if you
> > > disable generics you'll also disable nullable types since they are
> > > also generic). The rest of the new features in VB8 are just compiler
> > > features and are perfectly compatible with 1.0/1.1 assemblies.
> > >
> > > The second issue is that since the compiler can only run on the 2.0
> > > runtime it can only generate 2.0 assemblies with Reflection.Emit.
> > 
> > Why is this ? What 2.0-only features are you using ?
> Apart from generic SRE & reflection API's, that is.
> Miguel, why wasn't this done for gmcs (instead of having to sync mcs
> changes) ?

The mcs/gmcs split was done because mcs was a stable compiler used by
lots of people while gmcs adventured into the research space that was
the implementation of a moving specification.

Work on gmcs started roughly seven months before C# 2.0 was even show to
the public, about 18 to 24 months before the 2.0 API was even set in
stone, so the split obeyed to the fact that we had an experimental
compiler implementing experimental changes (that changed considerably
since the first ECMA drafts we got).

The fact that today we have a mcs/gmcs split that happens to neatly
target 1.0 and 2.0 is just a useful side effect.


More information about the Mono-devel-list mailing list