Jump to content

ColorForth: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Tags: Mobile edit Mobile web edit Advanced mobile edit
copy edit this weakly sourced article. Fix list gaps.
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Programming language}}
{{Refimprove|article|date=August 2007}}
{{Refimprove|article|date=August 2007}}
{{lowercase|title=colorForth}}
{{lowercase|title=colorForth}}
Line 22: Line 23:
| influenced =
| influenced =
| license = [[Public domain]]<ref name=status/>
| license = [[Public domain]]<ref name=status/>
| website = Archived at<br>{{URL|https://colorforth.github.io/}}
| website = Archived at {{URL|https://colorforth.github.io/}}
| file_ext =
| file_ext =
}}
}}
'''colorForth''' is a [[programming language]] from the [[Forth (programming language)|Forth]] language's creator, [[Charles H. Moore]], developed in the 1990s. The language combines elements of Moore's earlier Forth systems and adds color as a way of indicating how words should be interpreted. Program text is tokenized as it is edited; the compiler operates on the tokenized form, so there is less work at compile-time.
'''colorForth''' is a [[programming language]] from the [[Forth (programming language)|Forth]] language's creator, [[Charles H.&nbsp;Moore]], developed in the 1990s. The language combines elements of Moore's earlier Forth systems and adds color as a way of indicating how words should be interpreted. Program text is tokenized as it is edited; the compiler operates on the tokenized form, so there is less work at compile time.


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 standard Forth) to determine how different words are treated.
colorForth is 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 standard Forth) to determine how different words are treated.


colorForth was originally developed as the scripting language for Moore's own VLSI CAD program OKAD,<ref>{{cite web
colorForth was originally developed as the scripting language for Moore's own [[VLSI]] [[CAD]] program, OKAD,<ref>{{cite web
| url=http://www.ultratechnology.com/okad2.htm
| url=http://www.ultratechnology.com/okad2.htm
| title=OKAD II (Oh CAD Two)
| title=OKAD II (Oh CAD Two)
Line 35: Line 36:
| accessdate=2017-06-08}}</ref> 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.
| accessdate=2017-06-08}}</ref> 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]]. Practically everything is stored as source code and compiled when needed. The current colorForth environment is limited to running on [[Pentium compatible processor|Pentium]] grade PCs with limited support for lowest-common-denominator motherboards, AGP video, disk, and network hardware.
The language comes with its own tiny (63&nbsp;KB) [[operating system]]. Practically everything is stored as source code and compiled when needed. The current{{when?|date=December 2023}} colorForth environment is limited to running on [[Pentium compatible processor|Pentium]]-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, <span style="color:red;">color</span><span style="color:green;">Forth</span> would be rendered in standard Forth as:
Coloring in colorForth has semantic meaning. Red words start a definition, and green words are compiled into the current definition. Thus, <span style="color:red;">color</span><span style="color:green;">Forth</span> would be written in standard Forth as
: color forth ;
: color forth ;


Yellow words are executed. The transition from green to yellow and back again can be used while defining words, to transition between compiling words into the current definition, executing words immediately (manipulating the data stack during compilation), and back again (adding the top of the data stack to the current definition){{snd}} in other words, precomputing a value during compilation (a functionality that other languages use macros or optimizing compilers for).<ref name="wordformat">{{cite web
Moore developed Forth in the early 1970s and created a series of implementations of the language. In the 1980s he diverged from the standardization of the language, instead continuing to evolve it. He developed a series of Forth-like languages, each extreme in its simplicity: Machine Forth, OKAD, colorForth.
| url=http://www.colorforth.com/parsed.html
| title=PreParsed Word Format
| website = colorforth.com
| date=December 2001
| archiveurl=https://web.archive.org/web/20110906081208/http://www.colorforth.com/parsed.html
| archivedate=2011-09-06
| url-status=dead
}}</ref>


Moore developed Forth in the early 1970s and created a series of implementations of the language. In the 1980s he diverged from the standardization of the language, instead continuing to evolve it. He developed a series of Forth-like languages, each extreme in its simplicity: Machine Forth, OKAD, and colorForth.
Moore has stated that color is only one option for displaying the language.{{Citation needed|date=October 2019}} One of Moore's papers on colorForth was printed in black and white, but used italics and other typographical conventions to present source code.

Moore has stated that color is only one option for displaying the language.{{Citation needed|date=October 2019}} One of Moore's papers{{which?|date=December 2023}} on colorForth was printed in black and white but used italics and other typographical conventions to present source code.


== References ==
== References ==
Line 52: Line 63:
| title=ColorForth Mail List Archive
| title=ColorForth Mail List Archive
| author=Michael Alyn Miller}}
| author=Michael Alyn Miller}}

* {{cite web
* {{cite web
| url=http://www.ultratechnology.com/forth0.htm#mf
| url=http://www.ultratechnology.com/forth0.htm#mf
Line 58: Line 68:
| date=2006-04-17
| date=2006-04-17
| publisher=UltraTechnology}}
| publisher=UltraTechnology}}

* {{cite web
* {{cite web
| url=http://www.inventio.co.uk/cfdos.htm
| url=http://www.inventio.co.uk/cfdos.htm
Line 64: Line 73:
| date=2016-05-24
| date=2016-05-24
| author=Howerd Oakford}}
| author=Howerd Oakford}}

* {{cite web
* {{cite web
| url=http://cflinks.strangegizmo.com/
| url=http://cflinks.strangegizmo.com/
| title=colorForth Resources
| title=colorForth Resources
| date=2003-08-11}}
| date=2003-08-11}}

* {{SourceForge|colorforth|colorForth code repository and joint development effort}}
* {{SourceForge|colorforth|colorForth code repository and joint development effort}}

* {{Webarchive
* {{Webarchive
| url=https://web.archive.org/web/20140116175425/http://forthworks.com/c4th/doku.php
| url=https://web.archive.org/web/20140116175425/http://forthworks.com/c4th/doku.php
| title=ColorForth Community Wiki
| title=ColorForth Community Wiki
| date=2014-01-16}}
| date=2014-01-16}}

* {{cite web
* {{cite web
| url=http://www.greenarraychips.com/home/documents/greg/cf-intro.htm
| url=http://www.greenarraychips.com/home/documents/greg/cf-intro.htm

Latest revision as of 06:54, 4 March 2024

colorForth
ParadigmProcedural, stack-oriented
Designed byCharles H. Moore
DeveloperCharles H. Moore
First appeared1990s
Stable release
July 31, 2001; 23 years ago (2001-07-31)[1]
Typing disciplineTypeless
LicensePublic domain[1]
WebsiteArchived at colorforth.github.io
Influenced by
Forth

colorForth is a programming language from the Forth language's creator, Charles H. Moore, developed in the 1990s. The language combines elements of Moore's earlier Forth systems and adds color as a way of indicating how words should be interpreted. Program text is tokenized as it is edited; the compiler operates on the tokenized form, so there is less work at compile time.

colorForth is 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 standard Forth) to determine how different words are treated.

colorForth was originally developed as the scripting language for Moore's own VLSI CAD program, OKAD,[2] 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 (63 KB) operating system. Practically everything is stored as source code and compiled when needed. The current[when?] colorForth environment is limited to running on Pentium-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 written in standard Forth as

: color forth ;

Yellow words are executed. The transition from green to yellow and back again can be used while defining words, to transition between compiling words into the current definition, executing words immediately (manipulating the data stack during compilation), and back again (adding the top of the data stack to the current definition) – in other words, precomputing a value during compilation (a functionality that other languages use macros or optimizing compilers for).[3]

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

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

References

[edit]
  1. ^ a b "colorForth Status". September 2002. Archived from the original on 2016-03-10.
  2. ^ "OKAD II (Oh CAD Two)". 2001-07-01. Retrieved 2017-06-08.
  3. ^ "PreParsed Word Format". colorforth.com. December 2001. Archived from the original on 2011-09-06.
[edit]