Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.quux.org!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: minforth@gmx.net (minforth) Newsgroups: comp.lang.forth Subject: Re: Parsing =?UTF-8?B?dGltZXN0YW1wcz8=?= Date: Tue, 24 Jun 2025 00:42:09 +0000 Organization: novaBBS Message-ID: <4a4c38c99d22d97314ed5750af38430d@www.novabbs.com> References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> <6ea4ccd1cb6ae8c828144444fe51fea9@www.novabbs.com> <70a3014f99baf5e43b32e1320d7b8cd482be04c1@i2pn2.org> <61ff078b04e03c7b65b6dff98f58b80b@www.novabbs.com> <2025Jun23.071834@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="1772653"; mail-complaints-to="usenet@i2pn2.org"; posting-account="BZ29EnRIXfdX99fE+pfHgueF2xuF1KvSpLJsfuOZy3Y"; User-Agent: Rocksolid Light X-Rslight-Posting-User: 0338a3da6f3e9c9f1401b365bcd9c3ed8de2227a X-Rslight-Site: $2y$10$N/2FTd3xU/6585i18HKP1.BID6.K7mN/kuo3XYsmrFLalpZcv9AG6 X-Spam-Checker-Version: SpamAssassin 4.0.0 On Mon, 23 Jun 2025 21:20:46 +0000, Hans Bezemer wrote: > On 23-06-2025 23:03, minforth wrote: >> On Mon, 23 Jun 2025 5:18:34 +0000, Anton Ertl wrote: >> >>> minforth@gmx.net (minforth) writes: >>>> So, I made me a small extension to the locals word set. Using your >>>> example SPIN (abc — cba), I can define it as follows: >>>> : SPIN { a b c == c b a } ; \ no need for additional code before ; >>> >>> What is the advantage of using this extension over the Forth-2012: >>> >>> : spin {: a b c :} c b a ; >>> >>> ? >> >> Obviously, there is no advantage for such small definitions. >> >> For me, the small syntax extension is a convenience when working >> with longer definitions. A bit contrived (:= synonym for TO): >> >> : SOME-APP { a f: b c | temp == n: flag z: freq } >> \ inputs: integer a, floats b c >> \ uninitialized: float temp >> \ outputs: integer flag, complex freq >>  <: FUNC < ... calc function ... > ;> >> \ emulated embedded function using { | xt: func } >>  < ... calc something ... > := temp >>  < ... calc other things ... > := freq  / basic formula >>  < ... calc other things ... > := flag >>  < ... calc correction ... > := freq  / better estimation >> ; >> >> While working on such things, I can focus my eyes on the formulas, >> all local values are visible in one place, and I don't have to >> worry about tracking the data stack(s) for lost/accumulated items. >> >> As I said, it is nothing spectacular, just helpful. And to my own >> eyes, it looks neater.  ;-) >> >> And before dxf yowls again: it is still Forth. :o) > > Well.. Technically everything written in Forth is Forth. But it is not > canonical Forth - because if it were canonical Forth, we would have > covered locals in "Starting Forth" - and we didn't. > > Now, let's assume we found we were wrong. But there was a chapter in > "Thinking Forth" called "The stylish stack" - not "The stylish locals". > As a matter of fact, it states that "the stack is not an array" - > meaning: not randomly accessible. And what are locals? Right. Randomly > accessible. > > So, what is this? It's a feeble imitation of C. It's not part of the > original design. Because if it were part of the original design, you > would find out what it means to think differently. This is merely C > thinking. Nothing else. Certainly not Forth thinking. > LOL ... I admit being a very non-canonical old guy :O) --