Mako
sectorforth
Mako | sectorforth | |
---|---|---|
6 | 9 | |
555 | 374 | |
- | - | |
2.6 | 0.0 | |
over 3 years ago | almost 2 years ago | |
Forth | Assembly | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Mako
- Konilo: A personal computing system in Forth
-
Building a Game for an Imaginary Game Console, Based on an Imaginary CPU
this project reminds me a bit of one of my old projects; a forth VM and development toolchain: https://github.com/JohnEarnest/Mako
-
Lisp in Forth
On a related note, here's a Logo interpreter I implemented many years ago using a dialect of Forth: https://github.com/JohnEarnest/Mako/blob/master/demos/Loko/L...
- Mako
-
8-bit stack-machine emulated by 200 lines of C
Some similarities to one of my old projects, MakoVM:
https://github.com/JohnEarnest/Mako
It is also Forth-based, and has an ecosystem of interesting little games, programs, and libraries. The CPU, GPU, and other IO facilities fit in a little over 200 lines of Java:
https://github.com/JohnEarnest/Mako/blob/master/src/MakoVM.j...
- Mako is a portable stack-based virtual game console
sectorforth
- Konilo: A personal computing system in Forth
-
Fourteen Years of Go
> I'm not sure here how you differentiate minimalist from restrictive.
The flexibility of the language and its syntax. The more constructs are syntactic, the less minimalistic it is, and Go is a very syntactic language.
> I've always considered Go to be minimalist in terms of available tokens to the programmer: https://github.com/e3b0c442/keywords/blob/main/chart.png
No language on this chart has even a passing resemblance to minimalistic. I don't think anything does when it reaches double digit keywords.
For reference, I believe Smalltalk has 6.
And forth is more complicated because it doesn't really have keywords at all, and barely any syntax, instead it has assembly-coded / runtime-provided words (~functions) and variables. SectorForth (https://github.com/cesarblum/sectorforth/) is down to 8 builtin words, 2 IO words, and 5 variables (milliforth packs those behind a word instead). And so far 2 of the words have been found unnecessary / redundant.
-
MilliForth
https://github.com/cesarblum/sectorforth/issues
-
Interesting Article About a C compiler in 512 bytes That Uses Forth Inspired Tricks to Fit an Extremely Tight Space Constraint
Probably well known, but I'll let it here anyway: SectorForth
- Ask HN: What are some impressive software projects that fit in 512 bytes?
-
That's pretty much it!
sectorforth
-
A Forth bootable by old 386 PCs?
If you want to go allll the way down to the metal, you could put https://github.com/cesarblum/sectorforth in a floppy boot sector and then work your way up from there, enabling line A20 and switching into 32-bit protected mode yourself. Certainly on the "DIY" end of the spectrum, but it sure would be satisfying.
-
suckless programming languages?
Forth - More powerful and minimal than C, can fit in 512 bytes
- BootOS operating system in 512 bytes
What are some alternatives?
subleq - 16-bit SUBLEQ CPU running eForth - just for fun
sectorlisp - Bootstrapping LISP in a Boot Sector
miniforth - A bootsector FORTH
porth - It's like Forth but in Python
arkam - A Simple Stack VM and Forth
book8088 - Examples from my book Programming Boot Sector Games
elfort - A Forth metacompiler that directly emits an executable binary for x86-64 Linux written in Arkam
colorForth - colorForth running in Bochs for Windows
CAMEL99-ITC - Indirect threaded code version of CAMEL99 Forth for TI-99 computer
jonesforth - Mirror of JONESFORTH
VIBE99 - A vi like editor for Forth BLOCK files for TI-99
harm-less - Inspired by suckless and cat-v, this is a simple single document wiki of suckless practices and minimal software.