Tuesday, May 24, 2005

DALI computer language

This may be on the windy side of the law for a couple of reasons. Firstly, this material isn't original - it was written by a guy called mathew, who was actually called Shane Murphy when he wrote this - SMM12 on the university mainframe. Secondly, there is now a computer language called DALI that is completely different (according to references in Google). However, since I did a degree in Computer Science, this has always made me giggle, and I hope it's OK with mathew (wherever he is now) and the makers of the modern DALI if I put this here. It dates back to the late Eighties - well before Delphi 1.0 had appeared ....

Preliminary details on the new language DALI 1.0
Although Pascal is a very popular language for computer programming, it has frequently been criticised for its fussy syntax and emphasis on clear and logical structure; many people have claimed that this makes it intuitively difficult to use.
DALI suffers from no such problems. It is designed to work in exactly the way that the human mind works - thus greatly reducing coding time.

The full spec of DALI 1.0 will be available shortly, but in the meantime here are some extracts from the preliminary copy of the system user guide.

Variable types
All existing Pascal types are supported. Additional types include:

string - a variable of unknown length; attempts to discern the length of a piece of a string also return errors. Not to be confused with the BASIC type of the same name.

surreal - an extension to reals, which allows the processing of variables or constants of different types. For example:
p := 6 + "melted clock";

could produce any output from '42' to 'banana'.

mindboggling - This type has not yet been fully defined, but its preliminary definition is: "A seventeen-dimensional array of complex numbers, which point to secondary arrays, containing strings and also pointers to the first array."

zen - A sub-class of boolean; expressions of this type do not return values but indicate in some subtle way that they have understood your intentions.

stack - a purpose-defined stack type, to supplement arrays.

mess - like a stack, but the elements are 'pulled' in a random order from the top, bottom or middle of the stack.

pile - also similar to a stack, except that the element you want is always at the bottom where it cannot be 'pulled'.

desk - a random array of messes and piles.

More to follow sometime ....

No comments: