Hacker News new | past | comments | ask | show | jobs | submit login
A Dynamic Forth Compiler for WebAssembly (2018) (el-tramo.be)
51 points by andsoitis on Jan 14, 2023 | hide | past | favorite | 7 comments



There's a note on the page from 2022-08-19, that a lot has been added to it. It also links to the github page[1] for the up-to-date changes.

I am a Lisp, April, APL/J/BQE, and Forth[2] aficionado. I did some file munging programs in Factor back in 2012 at my job to sort through theater attendance logs in Word to compile statistics.

[1] https://github.com/remko/waforth

[2] https://factorcode.org/


> I am a Lisp, April, APL/J/BQE, and Forth[2] aficionado.

Same taste here, although I have the quirk that I also like types & proofs.

Because of Lips, APL(ish) & Forth are so nice and terse, I feel the need, every so many years, to try to combine them. Usually I quickly build something (I build a lot of Forth-likes for embedded and other compiled languages to speed up work without having to compile) that combines these 3. Usually I find that Arthur already did that kind of with Shakti and before with k. For my, however, APL chars are better. Since recently, I use the BQN keymappings to create new things.

So then I go into struggling how to add types to something like the above (outside Lisp/Scheme as that has been done). Most people think it's nonsense anyway [0], so i'm not quite looking to have the user add actual types (mostly), but more-so with global static analysis.

Anyway, bit offtopic, but nice to see there are more people (outside Arthur [1]) who like some of these combinations of languages.

[0] https://www.youtube.com/watch?v=z8MVKianh54 [1] https://kparc.com/lisp.txt


Yes, I have that quirk too. I try to push it down, because sometimes I just need to get something done. I like using J/APL composing functions which keeps it all in my head and I don't need types at that level. I have played with Agda, Coq, and Idris, but I always feel a pull to Haskell. SPARK2014 has a lot going for it, and I am trying to use it to create a controls program utilizing a lot of its inherent features for safety and integrity. ATS seems to hit a lot of notes too. At the end of the day, I feel more playful and enjoy programming in Lisp and J or APL, which is why April really caught my attention. I am learning BQN, but the symbols are not jiving with me personally; I prefer APL's symbols. BQN's symbols seem to all look slightly similar whereas APL symbols seem geometrically different enough and they suit my aesthetic. Let's see in another 3 months!


APL/J/BQN?


These are three array programming languages. BQN was new to me so I did a web search:

BQN: finally, an APL for your flying saucer

https://mlochbaum.github.io/BQN/

Terse: a language where the fundamental type is an n-dimensional array, so integers are a subtype.


This is really cool! Forth is a language that I hadn't really spent much time thinking of until I stumbled across its use in Awkward Array (disclaimer, I am an Awkward contributor now!)

We use a C++ Forth VM to run high performance (de)serialisation from Python (https://awkward-array.org/doc/main/reference/awkwardforth.ht...). Forth's small grammar makes it a highly maintainable approach, and it's amusing that we're using a lang from the 70s as a "new solution" like this.

There's no real point to this comment other than to share some enthusiasm for Forth!


Discussed at the time:

A Dynamic Forth Compiler for WebAssembly - https://news.ycombinator.com/item?id=17651554 - July 2018 (17 comments)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: