================================================================ ____ _____ _ _____ _ ____ _____ | _ \| ____| | | ____| / \ / ___|| ____| | |_) | _| | | | _| / _ \ \___ \| _| | _ <| |___| |___| |___ / ___ \ ___) | |___ |_| \_\_____|_____|_____/_/ \_\____/|_____| _ _ ___ _____ _____ ____ | \ | |/ _ \_ _| ____/ ___| | \| | | | || | | _| \___ \ | |\ | |_| || | | |___ ___) | |_| \_|\___/ |_| |_____|____/ Konilo 2024.4 ================================================================ This is the third release of Konilo and the ilo computer. It includes: - The ilo computer: a small virtual machine with many implementations: - aarch64 assembly (Linux) - amd64 assembly (DragonFly BSD, FreeBSD, Linux, NetBSD, and OpenBSD) - C - C# - Common Lisp - D - Go - Hare - JavaScript - Kotlin - Lua - Nim - Python - RetroForth - Rust - Swift - TypeScript - x86-native (C & assembly) - Precompiled binaries for ilo for a variety of hosts: +----------+-------------------------------------------------+ | 68k | Mac System 5, 6, 7 | | aarch64 | Linux, macOS | | armv7e-m | Teensy 4.1 | | x86 | MS-DOS, FreeBSD, Linux, OpenBSD, Windows, | | | Standalone | | amd64 | DragonFly BSD, FreeBSD, Haiku, Linux, macOS, | | | NetBSD, OpenBSD, Windows | | .NET | Windows | | Java | ilo.jar | | 88k | OpenBSD | | MIPS | NetBSD | +----------+-------------------------------------------------+ - The Konilo system image ("ilo.rom") - default block set ("ilo.blocks") including: - a variety of useful extensions - a manual viewer - block browser - an overview of the block editor - glossary data - dictionaries (toki pona, voa) - Some documentation - a copy of the dictionary ("Dictionary.txt") - a copy of the ilo specification ("ilo.txt") ================================================================ Notable Changes: BINARIES - added OpenBSD/luna88k - added NetBSD/pmax - added binary for iSH on iPadOS - added universal binary for macOS (amd64/aarch64) VM - added an implementation in D - added an implementation in Hare - added an implementation in C for use under X11 - added an implementation in RetroForth - amd64 assembly: added necessary section for pinning syscalls under OpenBSD -current branch - added mult/ilo (in C) for running multiple sessions under one process [text & X11] - native x86 - optional VGA (320x200) display - mult/ilo for text & VGA modes - added support for interrupts - added install kernel to copy blocks to hard disk - new python implementation from Arland - improved rust implementation from Matthew Keeter - new C implementation for Plan 9 from Jim Taylor IMAGE - fixed a bug in `s:trim-right` - fixed a bug on `indexed-times` - change to immediate words: - `d:flags` removed - a negative xt is now considered immediate - `list`, `list#`, and `list*` no longer add an initial newline - rewrite all dtc words in hand packed assembly - fully written in assembly now - relocated variables to system buffers memory area - no longer crashes on input if you attempt to backspace before the start of the input buffer (`s:get/token` and `s:get/line`) - better handling of string evaluation BLOCKS - update to latest system blocks set, examples, and docs - improved `lookup` in (nonix) - use system buffers for (termina) data - fixed cursor position bug in (tuhi) - added `code:` - reorganized to make future updates easier & safer - toggles for syntax highlighting added to (tuhi) - "R"un all blocks in current set added to (tuhi) - embedded manual replaced with a wiki - basic drawing words in (crc:drawing) - basic turtle graphics in (crc:turtle) - (short) for working with short (16-bit) numbers - (termina) programs can now display a short title - (rem) rewritten as a (termina) program - (rem) now part of the startup blocks - add (quad) for quad combinators (to go along with bi and tri) - add (crc:drawing) for use with X11 variant of ilo - add (crc:turtle) for experimental turtle graphics - add (ilo:x86) for extensions provided by ilo-x86-native - add (teensy4.1) for extensions provided by ilo-teensy4.1 - add (napia) for extensions provided by the napia vm - add (short) for 16-bit numbers - add (opt:n) and (opt:s) with additional `n:` and `s:` words - add (math) for Arland's latest RNG and fixed point math, sine, cosine, tangent DOCUMENTATION - corrections to glossary data - glossary now covers words in the default startup blocks - added dictionary data for english (voice of america) - added dictionary data for toki pona - added hypertext manual TOOLS - add `run-konilo.sh` script to help w/startup ================================================================