https://github.com/bahmanm/bjforth
Bahman's Forth on the JVM
https://github.com/bahmanm/bjforth
concatenative forth java jvm
Last synced: 8 months ago
JSON representation
Bahman's Forth on the JVM
- Host: GitHub
- URL: https://github.com/bahmanm/bjforth
- Owner: bahmanm
- License: gpl-3.0
- Created: 2022-01-07T22:57:05.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-08T15:17:54.000Z (over 1 year ago)
- Last Synced: 2025-01-08T16:43:09.183Z (over 1 year ago)
- Topics: concatenative, forth, java, jvm
- Language: Java
- Homepage:
- Size: 1.29 MB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# bjForth
[](https://dl.circleci.com/status-badge/redirect/circleci/UMKeFZ8ns9T9vi5aquTfVT/FnGnFZDJWi8uY7zNYvkuvb/tree/master)
[](https://codecov.io/gh/bahmanm/bjforth)


[](https://matrix.to/#/#github-bahmanm-bjforth:matrix.org)
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fbahmanm%2Fbjforth?ref=badge_shield)
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.
- [Thoughts on JVM-based Forth Implementation (2014)](https://www.bahmanm.com/2015/01/more-thoughts-on-jvm-based-forth.html)
- [More Thoughts on A JVM-based Forth (2015)](https://www.bahmanm.com/2015/01/more-thoughts-on-jvm-based-forth.html)
Then in 2022, I sat down and read the source of [JONESFORTH](http://git.annexia.org/?p=jonesforth.git;a=summary) 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:
```
$ ./bjForth
bjForth
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
```
Or you could include your own library:
```
$ ./bjForth my-lib.forth
bjForth
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
```
# Documentation
* [List of all words included in the distribution](docs/Words.md)
* [Java inter-op](docs/Java%20Inter-op.md)
# 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
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fbahmanm%2Fbjforth?ref=badge_large)