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