Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Forth reinvention Date: Thu, 20 Feb 2014 20:40:33 -0500 Organization: Aioe.org NNTP Server Lines: 53 Message-ID: References: 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:28632 On Thu, 20 Feb 2014 14:37:54 -0500, Elizabeth D. Rather wrote: > On 2/19/14 11:19 PM, dambere@web.de wrote: >> Personally I found RPN an elegant, mathematical notation both solving >> inconsistencies of traditional infix notations and ease parsing. > > RPN is way overstated as an impediment to Forth, because it's an obvious > feature that's easy to point to. But I really don't think it's a serious > impediment. The HP calculators used RPN. It wasn't an impediment, but more a hindrance or nuisance. People structure the problems the way they find them easiest to solve. E.g., after using scientific calculators and software versions for many years, I find it difficult to solve problems on them without a "1/X" button. I recently realized this after installing Linux, where the Galculator calculator had no "1/X" button. The only way to solve without "1/X" is to save to memory, clear, enter 1, divide, recall, next operation, recall other saved results, ... I.e., not having "1/X" is not an impediment, but a nuisance or hindrance. One button as compared to numerous operations. Fortunately, there is a patch to fix that, at least for GTK 2 implementations of Galculator, but not for the newer GTK 3 version ... > As Hans so succinctly said, stacks are used in many compilers. By > exposing them (and other internal features) Forth puts more power in the > hands of programmers. That's a good thing. Or, it can result in more errors since the user must be more cautious. It's true stacks are used in many compilers, but they're mostly used as fast temporary storage for register overflows (too few registers) instead of saving registers to slower memory, and for passing of parameters to functions or procedures. So, I don't see how these would equate to Forth. I.e., other languages use a stack differently than Forth. Forth is stack-based, but most microprocessor instruction sets are register based. I.e., design conflict between Forth's way of doing things and ability of the processor. Rod Pemberton