ILX(ID:3717/ilx001)


ILX represents the design and implementation of one such set of constructs, and its realization as a set of extensions to the input language of an execution plat-form that has already been designed with some of this kind of interoperation in mind. The platform is the .NET Common Language Runtime, an implementation of which is provided as part of Microsoft’s VisualStudio.NET. The intermediary language is called Common IL (CIL), and our extended language is called ILX.  

ILX extends the intermediary language of the .NET Common Language Runtime with systematic treatments for algebraic datatypes and function types/closures.  The “extensions” are suitable for encoding the corresponding source language constructs, e.g. from OCaml.
The extensions are, in one sense simply a language design which in theory could be implemented in many different ways.  However, the idea is to implement these features by translating them to the Microsoft .NET Common Intermediary Language.  The ILX SDK provides one such implementation.  We would like to encourage people either to use the ILX SDK or to do their own translations that are compatible with the representations used by the ILX SDK.



Related languages
F# => ILX   Compiled to
IL => ILX   Extension of

References:
  • Syme, D "ILX: Extending the .NET Common IL for Functional Language Interoperability" presented at Babel 01 in Florence in September 2001 view details pdf
  • Syme, D "ILX Reference Manual" view details
    Resources