Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Forth for education Date: Fri, 20 Sep 2013 16:51:51 -0400 Organization: Aioe.org NNTP Server Lines: 104 Message-ID: References: <0d34c96e-d56b-4d85-85f3-7379a3a1eb72@googlegroups.com> <5235eb3d.280545989@news.demon.co.uk> NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:25854 On Thu, 19 Sep 2013 07:47:02 -0400, Gerry Jackson wrote: > On 19/09/2013 02:10, Rod Pemberton wrote: >> On Wed, 18 Sep 2013 17:08:00 -0400, Gerry Jackson >> wrote: >>> On 18/09/2013 14:41, Rod Pemberton wrote: >>>> On Wed, 18 Sep 2013 03:57:19 -0400, Andrew Haley >>>> wrote: ... >>>> Don't you think four decades of conversation on what's the best >>>> way to implement control-flow in Forth is enough? When it's not how >>>> to implement control-flow, it's how to use DOES> ... Etc., Forth is >>>> cryptic, Forth has no syntax. >>> >>> Nonsense. Of course Forth has some syntax, [...] >> >> Forth has no official syntax. It has some defacto syntax. > > Again nonsense but taking that at face value - if it has "de facto > syntax" then it has syntax so your original statement is wrong. Clearly, no one here understands "defacto" ... > Anyway what do you mean by "official syntax"? I already stated this. Forth's only defined syntax is a space. Forth's words are not syntax by definition. At best, Forth can only have the appearance of some syntax, i.e., "defacto". > Presumably the fact that there is no section defining a Forth > grammar in BNF or some other notation. It has nothing to do with this. IF ELSE THEN SWAP DROP and all other defined or implemented Forth words aren't syntax because Forth defines space as the only syntax. >> [floating point format] That's a format, not syntax. >> [Gerry forgetting I wrote an Forth which is 2/3 ANS compliant in C] ... >>> At the grammar level control structures such as IF ... ELSE ... >>> THEN clearly form part of Forth's syntax - >> >> Not so. >> >>> if there is no terminating THEN, the structure is wrong. >> >> Really? Says who or what? >> >> Which standard or document do you think requires that? >> >> Hint: >> >> fig-Forth doesn't say that. >> F-79 doesn't say that. >> F-83 doesn't say that. >> ANS doesn't say that either. > > Elizabeth answered that. > No, she quoted. There is a difference. She never answered, nor explained. It's also incorrect to say what she quoted provided any proof to the contrary of what I said, as I explained in response it clearly doesn't. >> However, there is no constraint in the stack parameters for any of >> them that would actually require a Forth implementor to only allow >> THEN to be used with an IF or ELSE. THEN can function correctly >> as long as the stack parameters are valid. E.g., I could define >> the "WADADABOOP" control-flow to work correctly with and be >> terminated by THEN. If someone implements THEN to require a matching >> IF , they've added additional functionality not required, perhaps >> for safety. I.e., if so, then they've created syntax, but it's not >> officially required. > > You're waffling. The point is that Forth enables the users to define > their own syntax and that includes overriding the default Forth syntax > itself. > You're conflating non-syntax with syntax. >>> If all control structures, colon definitions, variable definitions >>> etc are considered there is quite a bit of syntax. >> >> Of course, that's not official syntax, but, yes, that is a trivial >> amount of defacto syntax. > > You're admitting that Forth does have syntax contrary to your original > assertion. No, you failed to understand the original assertion, or more specifically you willfully disregarded what I stated by claiming it to be incorrect. Rod Pemberton