Skip to content

bahmanm/bjforth

Repository files navigation

bjForth

CircleCI codecov GitHub commit activity GitHub Downloads (all assets, all releases) Matrix License: GPL v3 FOSSA Status

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 which is a rather minimal and amasingly well-documented Forth implementation!

After that I knew what to do!

How to run

As bjForth is written with Java, all you need is JDK 21 installed.

Then to launch bjForth:

$ java -jar bjForth-v0.0.2.jar

bjForth <https://github.com/bahmanm/bjforth>
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Or you could include your own library:

$ cat my-lib.forth - | java -jar bjForth-v0.0.2.jar

bjForth <https://github.com/bahmanm/bjforth>
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Documentation

Roadmap

v1.0.0

  • Java inter-op (instance creation and method call)
  • A set of libraries with commonly used words (bjForth.forth)

v2.0.0 (Tentative)

  • ANSI Forth compatibility

v3.0.0 (Tentative)

  • Java inter-op (lambdas)

License

FOSSA Status