ColorForth: Difference between revisions
cite web used (say no to linkrot!) |
copy edit this weakly sourced article. Fix list gaps. |
||
(19 intermediate revisions by 14 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}} |
||
{{ infobox programming language |
{{ infobox programming language |
||
Line 10: | Line 10: | ||
| developer = [[Charles H. Moore]] |
| developer = [[Charles H. Moore]] |
||
| latest_release_version = {{start date and age|2001|7|31}}<ref name="status">{{cite web |
| latest_release_version = {{start date and age|2001|7|31}}<ref name="status">{{cite web |
||
| url= |
| url=https://colorforth.github.io/status.html |
||
| title=colorForth Status |
| title=colorForth Status |
||
| date=September 2002 |
| date=September 2002 |
||
| archiveurl=https:// |
| archiveurl=https://web.archive.org/web/20160310135832/http://colorforth.com/status.html |
||
| archivedate=2016-03-10 |
| archivedate=2016-03-10 |
||
| url-status=dead |
|||
}}</ref> |
|||
| typing = |
| typing = Typeless |
||
| dialects = |
| dialects = |
||
| implementations = |
| implementations = |
||
Line 22: | Line 23: | ||
| influenced = |
| influenced = |
||
| license = [[Public domain]]<ref name=status/> |
| license = [[Public domain]]<ref name=status/> |
||
| website = {{URL| |
| 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 |
'''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. |
||
| url=http://forth.org/svfig/ |
|||
| title=Silicon Valley Forth Interest Group |
|||
⚫ | |||
| accessdate=2017-06-08}}</ref> meetings in 1992.<ref>386 OK, A new Operating System Invented by Chuck Moore, Computer Cowboy Reins In A Wildhorse, C.H.Ting, Offete Enterprises, 1992</ref> |
|||
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 |
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 39: | 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 ( |
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?|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. |
||
⚫ | |||
⚫ | |||
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 |
|||
⚫ | |||
| 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 |
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{{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 59: | ||
== External links == |
== External links == |
||
* {{cite web |
|||
* [http://www.strangegizmo.com/forth/ColorForth/ colorForth mailing list archive] |
|||
| url=http://www.strangegizmo.com/forth/ColorForth/ |
|||
| title=ColorForth Mail List Archive |
|||
* [https://web.archive.org/web/20050901105808/http://www.inventio.co.uk:80/cfdos.htm www.inventio.co.uk/cfdos.htm] - colorForth downloader / source reader |
|||
| author=Michael Alyn Miller}} |
|||
⚫ | |||
* {{cite web |
|||
| url=http://www.ultratechnology.com/forth0.htm#mf |
|||
| title=Forth Software and Hardware by Date: Machine Forth and colorForth |
|||
| date=2006-04-17 |
|||
| publisher=UltraTechnology}} |
|||
* {{cite web |
|||
| url=http://www.inventio.co.uk/cfdos.htm |
|||
| title=colorForth downloader |
|||
⚫ | |||
| author=Howerd Oakford}} |
|||
* {{cite web |
|||
⚫ | |||
| title=colorForth Resources |
|||
| date=2003-08-11}} |
|||
* {{SourceForge|colorforth|colorForth code repository and joint development effort}} |
* {{SourceForge|colorforth|colorForth code repository and joint development effort}} |
||
* {{Webarchive |
|||
* http://Forthworks.com/c4th/ {{Dead link|date=July 2016}} The Community and Documentation Wiki in progress |
|||
| url=https://web.archive.org/web/20140116175425/http://forthworks.com/c4th/doku.php |
|||
⚫ | |||
| title=ColorForth Community Wiki |
|||
| date=2014-01-16}} |
|||
* {{cite web |
|||
⚫ | |||
| title=Introduction to arrayForth™ |
|||
| author=Greg Bailey}} |
|||
[[Category:Concatenative programming languages]] |
[[Category:Concatenative programming languages]] |
||
[[Category:Experimental programming languages]] |
|||
[[Category:Forth programming language family]] |
[[Category:Forth programming language family]] |
Latest revision as of 06:54, 4 March 2024
This article needs additional citations for verification. (August 2007) |
Paradigm | Procedural, stack-oriented |
---|---|
Designed by | Charles H. Moore |
Developer | Charles H. Moore |
First appeared | 1990s |
Stable release | July 31, 2001[1]
|
Typing discipline | Typeless |
License | Public domain[1] |
Website | Archived at colorforth |
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]- ^ a b "colorForth Status". September 2002. Archived from the original on 2016-03-10.
- ^ "OKAD II (Oh CAD Two)". 2001-07-01. Retrieved 2017-06-08.
- ^ "PreParsed Word Format". colorforth.com. December 2001. Archived from the original on 2011-09-06.
External links
[edit]- Michael Alyn Miller. "ColorForth Mail List Archive".
- "Forth Software and Hardware by Date: Machine Forth and colorForth". UltraTechnology. 2006-04-17.
- Howerd Oakford (2016-05-24). "colorForth downloader".
- "colorForth Resources". 2003-08-11.
- colorForth code repository and joint development effort on SourceForge
- ColorForth Community Wiki at the Wayback Machine (archived 2014-01-16)
- Greg Bailey. "Introduction to arrayForth™".