shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

269
active users

#forth

1 post1 participant0 posts today

Added a transpiler extension to my 32-bit ARM #forth dialect, it produces #llvm ir to get optimal speed on RPI 0 1.3, also transpile to #p5js.

Extension is small with ~400 lines of #arm, target code is defined in a dictionary as ASCII with char. to manage replacement/stack.

Write-up: onirom.fr/wiki/blog/02-08-2025

Git: github.com/grz0zrg/GnosTh

Generated code beat clang at O3! (C benchmark can be speedier tho...)

Fun to see JS code running on i7 3.4GHz being only 4x faster than 1GHz #RaspberryPi!

now reading: Retrospective on High-Level Language Computer Architecture [Ditzel and Patterson 1980]: a summary of failed design approaches for

- reduction of the semantic gap between programming and machine languages
- reduction of software development costs
- aesthetics ("esoteric")
[High-level language computers] are aesthetically appealing to those not familiar with modern compiler writing technology. It is acknowledged that code generation may be simpler for a high-level language computer. What needs to be made more fully understood is that a high-level language instruction set does not eliminate the need for compilers, nor does it greatly simplify them. The need and complexity of compilers extends far beyond code generation. The amount of code necessary for preprocessing, lexical analysis, syntax analysis, assembly, optimization, loading, error detection, error recovery and diagnostics often dwarfs the part of the compiler concerned with code generation. The level of the target computer does not seem to have enough of an effect on the size of a compiler to warrant a totally new architecture.
ref: https://dl.acm.org/doi/pdf/10.1145/800053.801914

#compilers #computerarchitecture #forth #retrocomputing

So here's an idea i had that i'm almost certainly not going to do anything with (so you should). With AVX-512 we have 16 x 32-bit registers. Let's pretend that's a 16-deep stack. The permute instruction let us do a DROP and DUP (except, you'd probably want to ROLL them, but whatever). I'm imaging that top-of-stack would always be register 0; PUSHing something permutes all the registers 1-higher and replaces register 0. Now implement a FORTH.
#AVX512 #FORTH

> The whole point of #Forth was that you didn't write programs in Forth you wrote vocabularies in Forth. When you devised an application you wrote a hundred words or so that discussed the application and you used those hundred words to write a one line definition to solve the application. It is not easy to find those hundred words, but they exist, they always exist.

~ Charles Moore

ultratechnology.com/1xforth.htm

www.ultratechnology.com1x Forth by Charles Moore 4/13/99
Continued thread

Btw. Here's another 6½min live performance from my talk @ #Resonate 2016. Alas, there were some cable issues on stage and I had to record it all afterwards in my hotel room. The setup was the same as in the first video from the previous post (i.e. STM32F746 DISCO + Korg Nanokontrol)

soundcloud.com/forthcharlie/st