[comp.lang.forth] Portability and Standards

ir230@sdcc6.ucsd.edu (john wavrik) (11/23/89)

> (Let's be realistic:  do you really think a requirement for specific 
> internal design would be adhered to by one of the most independantly minded 
> programming communities in existance --Forth programmers?  Any such Standard 
> would be dead on arrival.)

Mathematicians tend to be independently minded too -- but at some point in 
history they decided to agree on the shapes used for the numerals and the base 
to be used for the number system. They also agree on a set of basic 
assumptions (axioms) and definitions. Without this agreement, progress in 
mathematics would be impossible. It would not be considered creative in 
mathematics to change the shape of 8 (arguing that a different shape would 
allow us to write it more quickly) or to suggest that we change the number 
base from 10 to 12. And it would be total disaster to leave such foundational 
things "implementation dependent". The foundations on which we agree are 
highly portable and are extensive enough to support the superstructure of the 
subject. Lots of independent minded people have made contributions to 
mathematics without feeling stifled by sharing a common language and a common 
set of basic assumptions on which to build -- they show their independence at 
a higher level.

There is an historical precedent for what I am suggesting. About 10 years ago, 
a group of independently minded programmers decided to make a new language 
available to the general public. They implemented their model on about a dozen 
of the most popular processors of the time. Most people who got past the 
unconventional nature of the language found it almost supernaturally powerful. 
(Much of the supernatural power derived from the fact that the implementation 
was part of the language.) It was also supernaturally portable: the main 
barrier to getting code written on one computer to run on another was getting 
the code transferred (modems were rare and expensive at the time). 

There are very few computer languages that can support the kind of development
seen in mathematics. For a language to do so, it must be built on a small and 
commonly agreed upon foundation -- and the foundation must be extensive and 
powerful enough to allow users to add features to the language. I have 
evidence to believe that such a language could be built with an agreement on
about 100 basic commands, and a rather mild agreement about how the language 
should function. I think such a language can be made competitively fast and
would offer, in terms of flexibility, an enormous alternative to most of the 
computer languages now in existence.

                                                  John J Wavrik 
             jjwavrik@ucsd.edu                    Dept of Math  C-012 
                                                  Univ of Calif - San Diego 
                                                  La Jolla, CA  92093