IMPROVED META LANGUAGE 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|