dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Question about DotGNU-Base


From: Rhys Weatherley
Subject: Re: [DotGNU]Question about DotGNU-Base
Date: Tue, 23 Jul 2002 23:50:49 +1000

Stijn \"Adhemar\" Vandamme wrote:

> Does "stuff" only refer to classes, or does DotGNU-Base also include new
> features in the language C#?

For the time being, we will probably track the ECMA spec
for the language fairly closely.  Other than generics,
it is difficult to see what else the language needs that
cannot be done with a library instead.

Aspect-orientation perhaps, but that is more like building
a new language than embracing and extending C#.  Sort of
like AspectJ is a dialect of Java, but not the same thing
(www.aspectj.org).

> I understand you are adding the C++ style << operator to streams.

As you noticed, this is mostly a library issue rather than
a language issue.

> Are you also (planning to add || thinking to add) C++ style templates (but
> then type-safe), even before Microsoft does so?
> 
> They are planning to, but they call them generics.
> http://research.microsoft.com/projects/clrgen/

Right now, generics are an experiment on the part of Microsoft
research, which may or may not make it into their commercial
CLR offerings.  If we do add a template-like feature to C#,
then the generic system is probably our best bet.

There are number of sub-problems to implementing generics:

- Changes to program loading and type handling to support
  instantiating parameterised classes at runtime.
- Changes to IL instruction behaviour where necessary.
- Update the assembler and disassembler to understand
  the necessary extensions.
- Syntax and semantics changes to the C# compiler.

We probably should get the non-generic CLI stuff working first,
but if people want to start investigating and designing the work
to be done then that would be fine (leave the implementation
until we have a solid CLI core).

Cheers,

Rhys.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]