Rantings on the Perfect Computer Language
Copyright 1999 Joel Matthew Rees
Takino-cho, Kato-gun, Hyogo-ken, Japan
Always Under Construction

The name of this language (if it hasn't already been taken) will be "progress". I chose this name to reflect its roots in FORTH.

The basic grammar is postfix, of course, but that is no matter, because the grammar is redefinable at will. A program in this language is actually less a collection of objects and properties than a collection of vocabularies and grammars.

(The vocabularies will be organized as a nested forest of small ordered (binary) trees, but that is a low-level detail.)

The fundamental type is the unsigned bit field. All scalar types comprise a bit width and an extraction rule. The extraction rule for the unsigned type is zero extension, and for the default signed type is the CPU's native sign extension.

The predeclared types in the minimum standard are the byte, word, bitAddress, and byteAddress. Addresses are assumed unsigned. The byte is the CPU's native minimum ordinary addressed width, and the word is the CPU's most efficient addressed width, usually the width of the CPU's general purpose registers. For each predeclared type, the bit width, minima and maxima are available as constants.

Standard extension types will include each of the usual signed types: 1's and 2's complement, sign:magnitude (a structured type), and half-range offset. Floating point will be separately provided as a structured type.


^v:progress c00.00.01e 1999.7.17