Files
janet4dos/README.md
T

49 lines
1.8 KiB
Markdown
Raw Normal View History

2026-04-21 20:59:10 +03:00
# Janet4DOS
2026-04-22 06:55:51 +03:00
This is a port of [Janet](https://janet-lang.org) programming language to x86 DOS systems. Currently ported version is 1.41.2.
2026-04-22 07:01:47 +03:00
See the "Releases" section for ready-made DOS binaries. Building your own binary from source is always recommended.
2026-04-21 20:59:10 +03:00
## Functionality missing from the original
* Multithreading
* Networking
2026-04-22 06:54:45 +03:00
* FFI and dynamic module loading
2026-04-21 20:59:10 +03:00
* Some mathematical functions (`math/erf`, `math/erfc`, `math/gamma`, `math/log-gamma`, `math/nextafter`)
* Secure RNG source (`os/cryptorand`)
2026-04-22 06:54:45 +03:00
* Full terminal editing features (you can compile with them, but the REPL will crash upon any long string output)
2026-04-21 20:59:10 +03:00
## Building
1. Install the DJGPP cross-compiler suite.
2. Edit the `CC` variable in the `Makefile` pointing to your `gcc` binary from DJGPP.
3. Run `make`.
4. Copy the contents of `bin` directory (`janet.exe` and `CWSDPMI.EXE`) to your DOS system.
2026-04-22 06:54:45 +03:00
## FAQ
### Why?
Janet already is an extremely portable language that can run "as is" on a lot of systems and architectures, but DOS still was on the list of missing targets. Meanwhile, retro x86 hardware could benefit from running a modern, practical Lisp system, even if it would be fully offline and single-threaded.
### Why amalgamated source code?
Because it was easier to write my own Makefile for.
### Can the same source code be used for building Janet for other platforms?
Yes, but you will have to re-enable "standard" features in `janet.h` by commenting out corresponding `#define` directives, and also update the Makefile accordingly.
### Was genAI used for porting?
As the codebase is quite long, genAI was used for identifying some problematic bits within it and some intermediate experimentation, but all final patches were fully hand-written.
### Will you submit your patches as a PR to the upstream Janet repo?
Maybe.
2026-04-21 20:59:10 +03:00
## Credits
Original copyright by Calvin Rose et al.
Ported by Luxferre.