[Mono-list] Implementing ECMA CLI vs Microsoft's .NET Framework

Sam Ruby rubys@us.ibm.com
Thu, 19 Jul 2001 23:00:27 -0400

Peter Drayton wrote:
> Do you mean that ECMA/TC39 might end up standardizing
> all of the ~3000-4000 types in Microsoft's .NET Framework?

At the present time, that seems unlikely to me, but I really don't want to
speculate too much in this area.  Progress is likely to be made first in
those areas (if any) where there is a common interest in standardizing.

> > A final thought - if you look at JDK documentation, you will see
> > annotations such as "introduced in JDK 1.2".  One thing that (IMHO)
> > would be extremely valuable is a proposal for a standard set of
> > which enables the one to determine what profile a given method belongs
> > and what version of that profile.  This would enable compilers to
> > warnings (e.g., this code contains references to floating point - and
> > not run on compact devices).  Such a proposal would have to be
cognizant of
> > the potential footprint and runtime overhead associated with such
> 100% Agreed - I like this idea *a lot* (I presume you meant library, not
> profile, correct?). Additionally, it seems that you'd need to go beyond
> just methods and also attribute types, interfaces, the 'throws list',
> etc. with this information.
> Were you thinking of using CAs, or rather direct metadata
> representation? I don't see anything in partition IV that precludes
> implementing this as custom attributes, though it does state "...there
> need not be any direct support for Libraries and Profiles in the VES;
> they are not represented in the metadata". Implementing this with CAs
> seems consistent with the way CLS compliance is asserted using CAs.

My first thoughts were custom attributes, with some sort of "inheriting"
rules such as those for CLS compliance to minimize the amount of data
required to represent this information.

Other suggestions include a separate file, perhaps in XML.  Somehow that
doesn't appeal to me as much.

- Sam Ruby

P.S.  There is no 'throws list' in the CLI.  You must be thinking of
another runtime.  ;-)