Project board
sinilo
sinilo is an extended version of ilo, with 64-bit cells, deeper stacks, more RAM, and additional i/o devices. It's not a pure replacement: ilo is intentionally self-contained and isolated from the host; the additional i/o devices in sinilo require tighter bonds to the host system. This VM sits in between nga and ilo in complexity, though leaning closer to the latter.
Log in to add, edit, move, or delete cards.
Suggestions
0Documentation
3Document changes from ilo
Document Error Handling
ilo allows for implementation-specific error handling models. sinilo will require specific behavior to ensure consistency.
Implementations
6C
Python
Node JS
Nim
Rust
Go
New I/O Devices
6Host FS
Access files on the host
Sockets
TCP/IP with Unix sockets
Clock
Access host time & date functions
Floating Point
Provide a floating point stack and data type
Scripting Support
Provide access to the host command line
Random Number Generator
Assembler
1Extended pali to cover additional instructions and architectural changes
A Konilo for sinilo
3Overview
This is a port of Konilo to sinilo. It adapts the cell size and memory layout, and adds additional words for using the new i/o devices. It's intended to be compatible with Konilo at a source level, for anything that doesn't need to be aware of the fundamental ilo vm design.
Update memory layout
Ensure all instructions padded out to 8 sub instructions per bundle
Initially just add .. to fill out the unused parts.
RetroForth for sinilo
1Overview
It'd be interesting to see what a RetroForth would be on sinilo. This wouldn't be a direct port of RetroForth 12, or of Konilo, but would blend aspects of both. I have not made any decisions on pursuing this, and sinilo remains a research vessel.