TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A Forth Story (1995)

100 pointsby veqq11 months ago

8 comments

lebuffon11 months ago
IMHO the world has missed the real thing Chuck Moore invented, that being an alternative CPU architecture. The use of two stacks, one for data and one for sub-routine linkage had not been seen to my knowledge, before Moore.<p>Forth is not a language. It&#x27;s an extensible instruction set. You like RISC. Are 31 instructions &quot;RISCy&quot; enough? :-)<p>I have wondered what Chuck&#x27;s CPU designs could have become if they had been given more financial and intellectual support at the level that we see for the dominant machines in the world.<p>Chuck&#x27;s first CPU NOVIX 2000, performed multiple instructions per clock without pipelining, Interrupt handling in 2 clocks, sub-routine calls in 1 clock and return was 0 clocks on many instructions. That was done with a ridiculously small number of gates.<p>In later years Chuck realized that a dogmatic use of only the data stack was not ideal and he added an a address register and a loop counter register to make the machines faster.<p>It would be cool to see someone carry these concepts forward to see what&#x27;s possible.
评论 #40837100 未加载
评论 #40759419 未加载
davidw11 months ago
Kind of a sad story but it does highlight some of the issues of something like Forth, where if you&#x27;re not careful, you&#x27;ll create a very powerful but also kind of difficult for anyone else to understand system.<p>Interestingly, there&#x27;s an appearance by &#x27;Mentifex&#x27; in the very next email.<p>That guy was famous: <a href="https:&#x2F;&#x2F;www.nothingisreal.com&#x2F;mentifex_faq.html" rel="nofollow">https:&#x2F;&#x2F;www.nothingisreal.com&#x2F;mentifex_faq.html</a>
评论 #40757811 未加载
评论 #40756283 未加载
评论 #40760040 未加载
nolist_policy11 months ago
He should look into C, not C++. With Duff&#x27;s device[1] trick, it becomes surprisingly lisp- and forth-y. It can be used to implement coroutines in 100% portable C[2]. And I&#x27;m pretty sure you can use the same trick to implement infinite recursion (stack on heap) and maybe even backtracking a la prolog.<p>[1] <a href="https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Duff%27s_device" rel="nofollow">https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Duff%27s_device</a><p>[2] <a href="https:&#x2F;&#x2F;www.chiark.greenend.org.uk&#x2F;~sgtatham&#x2F;coroutines.html" rel="nofollow">https:&#x2F;&#x2F;www.chiark.greenend.org.uk&#x2F;~sgtatham&#x2F;coroutines.html</a>
teddyh11 months ago
&gt; <i>It was even worse than that. It turned out that someone in a different Litton division was using Forth for production test station control for the same reason, its efficiency and power. This person was upset that I had brought in a new dialect. He had his box of tools and would not look at mine, and we could not share code.</i><p>That sounds like the Lisp Curse¹.<p>1. &lt;<a href="https:&#x2F;&#x2F;www.winestockwebdesign.com&#x2F;Essays&#x2F;Lisp_Curse.html#main" rel="nofollow">https:&#x2F;&#x2F;www.winestockwebdesign.com&#x2F;Essays&#x2F;Lisp_Curse.html#ma...</a>&gt;
评论 #40759287 未加载
评论 #40758879 未加载
评论 #40758663 未加载
rhelz11 months ago
I wonder how the rest of his career went. I hope he joined some dot com and made a killing.<p><i>sigh</i> the bit about everybody else thinking you are cheating because you actually know the best way to do it part really brings back bad memories......<p>I tried to introduce embedded lua at one company....another guy had just spent 2 years, though, developing his own language, which, of course, was buggy, incomplete, and ran just about 100 times slower than lua....<p>That bit about wondering WTF to do after being laid off AGAIN also hits pretty close to home. You spend your whole life refining your craft, and one fine day, the market decides that its value is exactly $0.00
MrBuddyCasino11 months ago
&gt; <i>The primary increase in speed versus a simple, straightforward loop, comes from loop unwinding that reduces the number of performed branches, which are computationally expensive due to the need to flush — and hence stall — the instruction pipeline.</i><p>Is this generally true, or only in the case of a branch mispredict?
jdblair11 months ago
The early 90s defence industry recession was rough for southern California. When I moved to the bay area in 2000 (during the dot-com boom), I met folks who were still recovering from the loss of their jobs and the simultaneous real-estate value crash, and had moved to silicon valley in search of new opportunities.
hlehmann11 months ago
Holy cow. I also worked at MDH Industries, for a few years starting in 1981 or so. That was also the first and only time I ever programming in Forth, doing embedded code for a new radiation calibration machine they were coming out with. Howard Marshall was the most brilliant analog circuit designer I have ever met; it was only decades later that I realized his connection with J. Howard Marshall the oil tycoon, Anna Nichole Smith, and all that.