Part of MS's push for the .NET framework includes the C# language and a thing called 'common intermediate language', or CIL. CIL, together with some other acronyms such as CTS (common type system) form a thing called 'common language infrastructure', naturally CLS. So what is it in plain words, and does it matter? I'm not properly qualified to describe the whole thing, but I only recently found out the specs are available for downloading from http://developer.intel.com/software/idap/ecma/index.htm (This is MS's submission to ECMA). It seems to be a compiler backend language (think RTL of gcc), with a lot of special information to assist things like dynamic linking, type safety, verifiability, reflection. Sort of a superset of Java Virtual Machines, with the ability to turn off verification to do C and C++ stuff. The JVM is pretty well useless for anything but Java, but this has support for things from most languages. Does it matter? Some of the ideas look very good. For example, tail recursion is supported. Other stuff looks like a bit of a mish-mash : windows specific stuff. Some stuff is not specified at all well (base class libraries - things that allow you to do input - output for example) If there was an open source version of an MSIL interpreter / JIT would this assist Linux? It might. ActiveState is doing an MSIL based Perl and Python, and various research groups, Mercury and other functional languages, have been funded to port to MSIL. Maybe a little embracing and extending from the Free Software World wouldn't go astray. Just as Samba has proved a boon for interoperatability, perhaps the ability to run MSIL code on Linux might be a good thing. One problem I have is that I can't see an overwhelming need for this. Why do I want or care about this as a user? It may be good technology, but does it matter? I'll keep an eye on things and report back when things are clearer. Jamie -- SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/ More Info: http://slug.org.au/lists/listinfo/slug
