romforth
Show HN: Romforth Ported to the IBM 1130
https://github.com/romforth/romforth
romforth is a dialect of Forth which is meant to be easily portable.The IBM 1130 holds a special place in Forth history since it was one of the earliest systems on which Chuck Moore prototyped his initial versions of Forth.I wanted to retrace Chuck Moore's footsteps as he created Forth on the IBM 1130 and decided to try porting romforth to the IBM 1130 (using the excellent SIMH/ibm1130...
Forth Day 2025
Tree Walk Format (TWF) is a flat file format to describe your family tree. It allows you to describe your family tree in one (or more) files which are editable using your favorite text editor.
I see it as a viable alternative to GUIs such as Gramps or TUIs such as llines(Lifelines).
Currently it is Unix/Linux only since it uses groff/dot to generate the graph depicting the family tree. The git repo has a script that turns the flat file you created into a pdf depicting your family tree. I assume Windows users may be able to use it too using WSL.
It should be possible to generate an equivalent GEDCOM from the TWF input, but that is not implemented yet.
Some additional usage info including examples of family trees from the Bible which are denoted using the TWF format are available at: https://ces.mataroa.blog/blog/twf_ftwmd
Tree Walk Format (TWF): a flat file format to describe your family tree
I wanted to run olvwm on Linux (when it went out of support on Ubuntu 16.04) and I'd managed to get this running on Ubuntu 20.04 (and more recently on Gentoo, as documented at https://ces.mataroa.blog/blog/gentoo-olvwm-bye-ubuntu/).
A survey of available olwvm implementations available on github at the time I created the repo is in the README of https://github.com/olvwm/xview/
Currently this works on an ancient 32-bit laptop (running NixOS 22.05 as documented in https://ces.mataroa.blog/blog/distro_hoppingmd/) as well.
The "bug" in the counting used here is that the overall Kolmogorov(?) complexity is not being accounted for because it is shunted elsewhere.
This is true for the other "tinyforth" implementations as well - such as sectorforth and milliforth, because the actual code ends up in the "input part of the Turing tape" if you want to think of it that way.
The right way to count it might be to measure the closure of all your dependencies (in this case, all of the input bytes that are needed plus the bytes in the BIOS that are needed).
[olvwm]: https://en.wikipedia.org/wiki/Olvwm [distro]: https://ces.mataroa.blog/blog/distro_hoppingmd [xview]: https://github.com/olvwm/xview
[1]: https://github.com/ivandavidov/minimal-linux-script [2]: https://github.com/w84death/floppinux [3]: https://www.insentricity.com/a.cl/283/booting-a-486-from-flo...
These might be famous last words, but if switching between compile/interpret modes is ignored, I think it shouldn't be too hard to implement it though.
Given how close Forth is to assembly (seen from an implementer's point of view) it makes sense to write Forth in a "vertical" style which reflects the "vertical" style in which assembly code is written. This has the advantage that the "stack picture comments" on each line of code can stand in for Hoare triplets so that the code and its - I'll call it - "proof" can be written hand in hand at the same time.
This is how all of the Forth code that I've written in https://github.com/romforth/romforth is structured.
It does make the code appear less compact though so you are not going to win any code golf prizes.