bjForth which stands for Bahman's Forth on the JVM is an attempt at writing a Forth which would allow the programmer to tap into the JVM and its ecosystem.
The idea came to my mind in 2014-2015, but I never had the time nor the understanding of how a Forth is implemented.
Then in 2022, I sat down and read the source of JONESFORTH. It is a rather minimal and amasingly well-documented Forth implementation!
After that I knew what to do!
The initial version. It should remain relatively close to JONESFORTH and deviations should be minimal and only when necessary.
Support basic JVM interop such as below:
1 2 3 @java.util.List @.of .s
\ java.util.List <3, 2, 1>
"Bar" @my.package.Foo @.new @.greet
\ Hello, Bar
Support lambdas and class/interface creation.
A bunch of notes which are most probably useless to anyone else but me.
The list of words which are defined in the assembler file (jonesforth.S
) but are in fact
Forth words.
- COLON @ jonesforth.S:1869
- SEMICOLON @ jonesforth.S:1881