IML is a functional language. It is extention of OCAML. It has the following
interesting features:

 - Changable syntax. We can define syntax extentions and assign with them
   functions operating on syntax tree.

 - Compiling OCAML programs (without objects).

 - Delayed definitions of values. We can leave a value undefined (unknown)
   and later (but before it is read) assign something to it (but only once).
   Such undefined values can be part of biger data structures.

 - Nonimperative arrays. In general it is imposible to implement arrays
   working in $O(1)$ time. But in many cases when we modify the array we
   don't need the previous version. In IML we can modify an array in $O(1)$
   time, but then when reading first time from the unchanged array we need
   $O(n)$ time (the array is copied and the change is undone).

 - Nonimperative objects. They work similary to arrays, but their fields
   have names.

 - Implicit constructors. For some of the constructors you can say that they
   are implicit. It means that you do not need to tell the constructor name,
   the types are automaicaly converted using such constructor.

 - Saving values. Results of executing of a module will be saved. When using
   the module, the already computed values will be loaded from disk.

status.txt 0 kB 13-12-2004 22:50

Licznik: 1357

Valid HTML 4.0!