Talk:Forth (programming language)

message: Mostly as a reminder to myself, here is a list of topics that could be covered by the article. However, most of this is probably too specific for an encyclopedia. I think the article already says most of what would be of interest to a casual reader.
* typical length of Forth words, general layout of Forth code, stack comments, shadow screens, more on blocks?
* vocabularies, wordlists (MARKER, FORGET)
* cells and standard data types (doubles etc.)
* memory allocation and cell alignment (HERE, comma, ALLOT, ALIGN, ALIGNED, PAD, ALLOCATE, FREE)
* use of the return stack to reduce "stack gymnastics", interaction of looping constructs with the return stack, locals
* explain naming conventions, explain bracketing convention for pairs of immediate and non-immediate words ('/['], CHAR/[CHAR], IF/[IF])
* case (in-)sensitivity during parsing; some (older) Forths store word names as the leading (five?) characters plus the name length.
:The first Forths stored three. Ideogram 15:59, 20 June 2006 (UTC)
replies: text: This is a pretty important feature of Forth but difficult to explain.  Ideogram 15:59, 20 June 2006 (UTC)

text: I think this article is already up to FA standards since the primary objection about not enough citations has been addressed.  But by all means feel free to improve it further.  If you can explain these concepts to a nontechnical reader it can only help.  Ideogram 15:59, 20 June 2006 (UTC)
thread_title:  TO DOs 

message: The statement that "C compilers may now generate code with more compactness and performance" is NOT true. Modern Forth systems are executing at 1000x the speed of equivelant C code when they are writen from scratch from the same requirements. This statement should be given a reference or removed.  —Preceding unsigned comment added by 97.65.82.66 (talk) 15:29, 13 September 2010 (UTC)
thread_title:  Untrue Statements 

message: I don't know about the FA but it is GA status as of now. Lincher 04:01, 23 June 2006 (UTC)
replies: text: Good job everyone.  Now on to Featured Article!  Ideogram 04:22, 23 June 2006 (UTC)
thread_title: GA

message: This section mentions two 'Forths' that break at the slightest typing error (unrecoverable), and in no way represent modern Forth. I say they are curiosities that should be deleted?
Mhx 19:32, 12 July 2006 (UTC)
replies: text: Sounds good to me.  --Ideogram 01:20, 13 July 2006 (UTC)
thread_title: Online interpreters

message: Influenced by B5500 - Chuck's HOPL II draft (The Early Years)
Influenced Open Firmware - claimed on page (obvious)
Influenced Factor programming language - claimed prominently on the author's web page.
On second look, it appears PostScript was also influenced by the B5500, via InterPress and John Gaffney. See the link at the bottom of the InterPress page. --IanOsgood 01:00, 14 July 2006 (UTC)
replies: text: The following discussion is an archived debate of the proposal. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section. 
The result of the debate was PAGE MOVED per discussion below.  Even got the target right on the second try. -GTBacchus(talk) 07:07, 1 December 2006 (UTC)
thread_title:  Influences: sources 

message: :Add  * Support  or  * Oppose  on a new line followed by a brief explanation, then sign your opinion using ~~~~.
* Support because (a) the river and firth, in particular, are very significant and it makes sense for those articles to have equal status with the programming language article; and (b) because "Forth" isn't a unanimously accepted spelling for the programming language anyway — it can be argued to be "FORTH" in capitals. Best to offset the controversy by having it at "Forth (programming language)". – Kieran T (talk | contribs) 15:50, 24 November 2006 (UTC)
thread_title: Survey

message: Is there a reason the article doesn't mention early Forth history?  I mean the "pre-standard" era when FIG Forth and Forth Inc. were King and Queen?  Isn't it curious that the article has many links to the FIG Forth site, but FIG doesn't even merit a direct mention?  Also, I have several old Forth books, including Starting Forth, Thinking Forth, and Byte's Threaded Interpretive Languages.  Have I just missed something, or is this info not considered important? – 2*6 05:22, 18 January 2007 (UTC)
replies: text: As far as I can see, the only reason that the article doesn't talk much about early Forth history is that no editor felt knowledgable enough to add this information. It would certainly be a most valuable and important addition to the article, IMHO. —Tobias Bergemann 07:55, 18 January 2007 (UTC)
replies: text: I found an excellent place to start -- The Evolution of Forth at the Forth, Inc. site.  The problem is going to be condensing that information as well as having other sources so as not to be simply a synopsis of what they already did.  Ack, I just checked; the article already provides a link in its History subsection of External links.  Hmm, would a bulleted list of key events would fit well within the article's structure?  I'm envisioning a new History section of the article which would include the bulleted list as well as include specific mention (and link) to the Evolution piece.  Hesitant to just do it on an article which has received such scrutiny. – 2*6 20:55, 18 January 2007 (UTC)
replies: text: Be bold! Don't be afraid to start, even with just one source (it is a very good source, nearly authoritative). Another source would be History of Programming Languages II. --IanOsgood 15:49, 21 January 2007 (UTC)

text: I finally took it upon myself to split out a History section. Have at it! Aside from the notable standards like the FIG-Forth model, it might be interesting to note some of the application areas where Forth found a niche, such as robotics, machine control and space probes. --IanOsgood 18:28, 5 July 2007 (UTC)

text: Starting Forth. Forth, Inc. just made a web version; check the article refs. Thinking Forth by the same author is also now in e-book form. --IanOsgood (talk) 17:17, 21 November 2007 (UTC)
thread_title:  Early Forth history 

message: Is it right to call Forth typeless? ANS defines several types. I think a more accurate description would be "static, no checking." Potatoswatter (talk) 11:16, 26 May 2008 (UTC)
thread_title:  "typeless" discipline? 

message: I wouldn't dare try to put this in the article but I have to at least mention the cartoon from
a few decades back, with Yoda saying:  "Forth programmer I am!"
I tinkered a bit with Forth back in the 1980s -- surprised to see it alive and well, I thought
it was dead.  I'll have to get back to it again.  MrG 4.225.210.106 (talk) 14:34, 11 June 2008 (UTC)
thread_title:  Forth Humor 

message: It seems to me that a better example of a definition could be found. The current one is : X DUP 1+ . . ; . It's a little confusing, as it's not quite clear what the function is supposed to do. I think we might want to show off a more obvious function, for example : DOUBLE DUP + . ; . That way, the reader can intuit the purpose of the code, and not have to spend time figuring out the intent of the function. Quentin mcalmott (talk) 07:34, 9 July 2008 (UTC)
thread_title:  Definition example 

message: Wouldn't it be worth to link to http://forth.gsfc.nasa.gov/ ? 82.229.128.243 (talk) 12:49, 9 July 2008 (UTC)
replies: text: Wow, nice link! Don't be afraid to be wp:bold with such contributions. Potatoswatter (talk) 01:00, 10 July 2008 (UTC)
replies: text:  . Great link. It's now the reference for the sentence "Forth has a niche both in astronomical and space applications." --68.0.124.33 (talk) 16:34, 29 January 2009 (UTC)

text: Sadly, that link was removed by IanOsgood 18:51, 2 March 2009.  I shure liked that link back.  It clearly shows a niche where Forth is used much.  That page is a bit old though. Johan G (talk) 20:14, 2 March 2009 (UTC)
replies: text:  Not at all! It was promoted to a full reference, in the opening section no less! (Every external link dreams of growing up to be a full reference.) --IanOsgood (talk) 01:45, 3 March 2009 (UTC)
thread_title:  NASA Usage 

message: The iForth FAQ page, 
<http://home.iae.nl/users/mhx/i4faq.html>, hints at a 
"Forth20x0 standard". Perhaps this proposed or completed 
standard, if it exists, should be described?
2008-08-12T22:56:00Z, Mortense (talk) 22:50, 12 August 2008 (UTC)
replies: text: <http://www.forth200x.org/forth200x.html> is where the new standard is being developed, I think it would be good to have that link somewhere Donio (talk) 03:12, 27 November 2008 (UTC)
thread_title:  Forth20x0 standard 

message: :"Forth was the first resident software on the new Intel 8086 chip in 1978 and MacFORTH was the first resident development system for the first Apple Macintosh in 1984."
What is resident software and what is a resident development system? --Abdull (talk) 13:46, 28 January 2010 (UTC)
replies: text: "Resident" means the Forth system ran entirely on the target platform itself. In most cases, bringing up experimental hardware requires some sort of cross-compiler or umbilical system where the bulk of the target development is done on a different computer. For example, most of the original Macintosh development was done on its predecessor, the Apple Lisa. --IanOsgood (talk) 16:51, 28 January 2010 (UTC)
thread_title:  Resident? 

message: It is more precise to call figForth a de facto standard and F79
a failed standardisation attempt. Can you call F79 and f83 a "de facto" standard, if they are formal standardisation attempts? That doesn't seem right from a language point of view.
80.100.243.19 (talk)  —Preceding undated comment added 13:14, 15 February 2011 (UTC)
thread_title:  F79 de facto standard 

message: I was about to delete this but thought I'd better check first. BNF is a way of writing out a context-free grammar and it must be possible to have a stab at writing a BNF grammar for FORTH. So when the article says "Forth does not use a BNF grammar" I don't know what it means. The context seems to be that you can modify the language without having to recompile the compiler, but that doesn't explain the mention of BNF. GeorgeMacro (talk) 18:25, 25 June 2011 (UTC)
replies: text: Forth does not have a context-free grammar, so no BNF. Quoting John Passanti: "...Forth's grammar isn't defined at the language level, but at the level of the words that comprise Forth.  Each whitespace-separated word in Forth can impose it's own syntax and semantics, and these can be nearly anything.  This makes it difficult to express in a BNF grammar because each lexical element can do nearly anything it wants (although there are sensible conventions most people stick with)." (see this thread in comp.lang.forth) --IanOsgood (talk) 22:20, 25 June 2011 (UTC)

text: That's a good thread. I've edited the article to say "Forth's flexibility makes a static BNF grammar inappropriate" GeorgeMacro (talk) 18:13, 26 June 2011 (UTC)
thread_title:  "Forth does not use a BNF grammar"? 

message: The  section seems to be lacking balance. Although all the facts there may be true, it is also true that Forth is not widely used outside of particular niches, and there are reasons for that, many of them probably to do with maintainability. It would be good to formulate a neutral justified statement of what they are.Subsolar (talk) 23:58, 22 December 2013 (UTC)
thread_title:  Balance of maintenance section 

message: This might be considered original research, but I'm sure that anyone who has ever used either GNU or Berkeley Make, (particularly the latter, as I have) as well as FORTH, will immediately notice that while simplified, syntactically Make is almost identical.  Given my negative experiences with Wikipedia in the past, I will not attempt to add this myself; but I leave the idea here, for someone who considers themselves entitled to do so.
Petrus4 (talk) 11:33, 30 January 2014 (UTC)
thread_title:  Adding "Make" to influenced list 

message: This article reads very defensively, as if Forth can only be discussed in relation to how it's misunderstood, lesser used, or otherwise somehow compared with C. Let the language speak for itself! Just state the facts! The in-line talk of "most" or "other" languages and and self-deprecating statements should go away. I'll fix what I can, but let this stand as a reminder for future editors. Dgpop (talk) 17:15, 19 March 2015 (UTC)
thread_title:  Defensiveness and language comparisons 

message: mhx removed  a link to '8th'.  I would like to know on what basis.
His comment is about "Removed references to obscure, outdated, or certainly non-standard implementations", but only 8th was removed.
Well why?  Factor is definitely non-standard.  SwithForth is definitely commercial.
RonAaron (talk) 13:13, 30 October 2015 (UTC)
thread_title:  "Non-commercial" removal 

message: The history section ends in the 80's. No mention of the ISO 1994 standard. no mention of landings on comets, Forth processors. Really?
Overall this wiki article show a weak balance between relevant and less relevant subjects.  — Preceding unsigned comment added by 80.100.243.19 (talk) 15:54, 3 November 2016 (UTC)
thread_title:  Forth history ends in the 80's 

message: Hello fellow Wikipedians,
I have just modified 3 external links on Forth (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Corrected formatting/usage for http://forth.gsfc.nasa.gov/
*Added archive https://web.archive.org/web/20101024223709/http://forth.gsfc.nasa.gov/ to http://forth.gsfc.nasa.gov/
*Added archive https://web.archive.org/web/20060615025259/http://www.colorforth.com:80/HOPL.html to http://www.colorforth.com/HOPL.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 10:12, 3 January 2017 (UTC)
thread_title:  External links modified 

message: Hello fellow Wikipedians,
I have just modified 7 external links on Forth (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Corrected formatting/usage for http://www.colorforth.com/HOPL.html
*Added archive https://web.archive.org/web/20110713012838/https://mywebspace.wisc.edu/lnmaurer/web/forth/Forth-79.pdf to https://mywebspace.wisc.edu/lnmaurer/web/forth/Forth-79.pdf
*Added archive https://web.archive.org/web/20060623185833/http://www.zetetics.com/bj/papers/6809asm.txt to http://www.zetetics.com/bj/papers/6809asm.txt
*Added archive https://web.archive.org/web/20060622063041/http://www.zetetics.com/bj/papers/8051task.pdf to http://www.zetetics.com/bj/papers/8051task.pdf
*Added archive https://web.archive.org/web/20060623190109/http://www.zetetics.com/bj/papers/moving8.htm to http://www.zetetics.com/bj/papers/moving8.htm
*Added archive https://web.archive.org/web/20070606083244/http://www.zeecube.com/archive/bdm/index.htm to http://www.zeecube.com/archive/bdm/index.htm
*Added archive https://web.archive.org/web/20060625072706/http://dec.bournemouth.ac.uk/forth/euro/ef03/ertl-gregg03.pdf to http://dec.bournemouth.ac.uk/forth/euro/ef03/ertl-gregg03.pdf
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 16:06, 4 October 2017 (UTC)
thread_title:  External links modified 

message: On the page List of programming languages by type, FORTH is listed under:
* "Compiled languages" (professional systems, like VFX and SwiftForth)
* "Interactive mode languages"
* "Interpreted languages" (interactive shell only, otherwise compiled to native or threaded code)
* "Metaprogramming languages"
* "Reflective Language"
* "Stack-based languages" (for some odd reason Forth and colorforth get separate entries)
And yet FORTH is not listed under "imperative languages" and there is no category for "threaded languages" or "threaded interpreted languages" (which, of course, only describes some implementations of FORTH). 
So I ask, where should FORTH be listed on our list of programming languages by type? 
Related: What is the Forth programming language?, The Evolution of Forth. --Guy Macon (talk) 15:17, 17 March 2020 (UTC)
replies: text: The result of the discussion was that it should be listed under stack-based languages. --Guy Macon (talk) 12:14, 20 April 2020 (UTC)
thread_title:  Where does FORTH belong on our list of programming languages by type? 

message: Firstly, thank you wiki for implementing the talk form suggestion.
The article is missing a lot.  It is very basic.  One of the most important historical consequences of the Forth language, is not just it's historical usefulness in earlier resource starved embedded electronics, but that it is one of the only high level languages most suitable to being implemented as microprocessor hardware, and it's heavy similarity to an early mainframe computer processing architecture.  In this, forth at times, has been either implemented as one of the highest, or highest, performing microprocessors (at the time of the original Novix microprocessors) or the highest performing per unit of energy (starting in the forth MISC period with the Offete enterprises Mup21) and lowest energy processors in the last few decades, starting with either the company that was renamed Intelisys, or the Green Arrays company after the massive falling out, and leading notorious Async Processing patent dispute.
Even though it has not reached high popularity in microprocessor sales, it is a leading performance language architecture for implementing microprocessors.  It is viewed as a failed competitor to resource hungry modern processing architectures loosely influenced by the C computer language from the Unix Operating System development, where such implementation was not due to any hardware implementation superiority in the C language, but simply to try to run computer programs faster, many of which where developed in C.  The criticism, is that this has made microprocessors optimised to run compiled C code, very top heavy, and less efficient per watt of energy.  Even though many modern Forth MISC (Minimum Instruction Set Computer) processor chips, have abandoned the costly endeavour to develop highest performance, or highest performance per unit of energy on continuos high speed processing, the low resource compact nature of the architecture has led to many chip designs and soft CPU designs for FPGA use, much more so than any other computer language.  A useful computer history angle, as it is the most successful language by far, in this way.  There other Misc processors, but Forth types tend to have better performance metrics.
A section listing on the usefulness trend, and all the hardware processor designs, as well as all the FPGA soft processor designs history, and a dedicated expansion on this in a Forth Processor main article, and the the academic work Stack Computers, about Forth Processor architecture, would round out this article.
A few websites with historical backups of information of these subjects, is at forth.org, Offete enterprises, and Ultra technology, all of which have microprocessor chip listing pages.  There are other web site resources, and the versions in the internet archive (wayback machine) which preserves working pages and links.
Currently, there is a European effort to make a compact 6Ghz Forth chip, as referenced by the head of Microprocessor Engineering on comp.lang.forth Usenet forum.
Unfortunately, Wikipedia is good at leaving out and culling useful information in articles, which should be maintained for prosperity.  For instance, the many FPGA soft, and physical, processor designs are most useful as they can be reused on newer FPGA chips, and some as new silicon chip implementations. 49.182.81.62 (talk) 18:34, 11 May 2022 (UTC)
thread_title:  Forth's influence on microprocessor technology, and as the most suitable high level language to implement as microprocessors.