ColorForth
Encyclopedia
colorForth is a programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 from the Forth language's original designer, Charles H. Moore
Charles H. Moore
Charles H. Moore is the inventor of the Forth programming language.- Biography :In 1968, while employed at the United States National Radio Astronomy Observatory , Moore invented the initial version of the Forth language to help control radio telescopes...

, developed in the 1990s. There was an earlier predecessor called 386 OK which appeared for sale at Silicon Valley Forth Interest Group (SVFIG) meetings in 1992.

An idiosyncratic programming environment, the colors simplify Forth's semantics, speed compiling, and are said to aid Moore's own poor eyesight: colorForth uses different colors in its source code (replacing some of the punctuation in Forth) to determine how different words are treated.

colorForth was originally developed as the scripting language for Moore's own homebrew VLSI CAD program OKAD, with which he develops custom Forth processors. As the language gained utility, he rewrote his CAD program in it, spruced up the environment, and released it to the public. It has since gained a small following, spurred much debate in the Forth community, and sprung offshoots for other processors and operating environments. The language's roots are closer to the Forth machine languages Moore develops for his processors than to the mainstream standardized Forths in more widespread use.

The language comes with its own tiny (63K) operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

. Practically everything is stored as source code and compiled as and when needed. The current colorForth environment is limited to running on Pentium
Pentium compatible processor
A Pentium compatible processor is a 32-bit processor computer chip which supports the instructions in the IA-32 instruction set that were implemented by the Intel P5 Pentium processor family...

 grade PCs with limited support for lowest-common-denominator motherboards, AGP video, disk, and network hardware.

Coloring in colorForth has semantic meaning. Red words start a definition and green words are compiled into the current definition. Thus, colorForth would be rendered in standard Forth as:
: color forth ;

Moore developed Forth in the early 1970s and created a series of implementations of the language. In the 1980s he diverged from (or rather ignored) the standardization of the language, instead continuing to evolve it. He developed a series of Forth-like languages, each fairly extreme in its simplicity: Machine Forth, OK, colorForth.

There is some controversy about colorForth marginalizing color blind
Color blindness
Color blindness or color vision deficiency is the inability or decreased ability to see color, or perceive color differences, under lighting conditions when color vision is not normally impaired...

programmers, but Moore has stated that color is only one option for displaying the language. One of Moore's papers on colorForth was printed in black and white, but used italics and other typographical conventions to present source code.

External links

  • colorForth mailing list archive
  • Machine Forth and colorForth
  • www.inventio.co.uk/cfdos.htm - colorForth downloader / source reader
  • more colorForth links
  • http://colorforthray.info/ - a quick start guide
  • http://Forthworks.com/c4th/ The Community and Documentation Wiki in progress
  • http://colorforth.net/ The Community Blog
  • http://forthlinks.com/index.php3?category=11 colorForth links
  • http://www.greenarraychip.com/home/documents/greg/cf-intro.htm Introduction to arrayForth™
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK