retroforth/RELEASE-NOTES

72 lines
1.6 KiB
Text
Raw Normal View History

# RetroForth 2021.1 Release Notes
## Core Language
* `choose` (and other conditionals) now treat non-zero as `TRUE` and
zero as `FALSE` instead of requiring a flag of -1 for `TRUE`
* add \^ (ASCII ESC) to escape sequences in `s:format`
## I/O
* improvements to some of the pipe related words in the `unix:`
namespace
* reduced code size for each device handler slightly
* added `abort` to Retro on Unix
----
## Toolchain
### Makefile
* Small adjustments to reduce build time
### C
* retro-unu
- now supports user defined code and test block delimiters (C)
* retro-muri
- supports changes from retro-unu
- now has separate passes for each step of the assembly process
- removed some unused variables
### Python
* retro-amalgamate.py added to generate a single file Python source
* faster retro-extend.py
* added retro-embedimage.py
----
## VM
### nga-c
* reduced redundancy across the various implementations in C
* removed an unused function
### nga-python
* now written using classes
* no longer limited to 32 or 64 bit cells
* uses Python functions to shadow some Retro words for better
performance
* caches the Retro dictionary to improve lookup performance
* embeds image as a Python source
* now supports `-f`, `-i`, and `-u` command line parameters
* improved error handling for invalid addresses
----
## Examples
* added "2020 Advent of Code", days 1-5
* added palindromic numbers detection (SVFIG challenge)
* added bindings over curl
* added muri with direct use of hex values
* refactoring & general cleanups in Atua-WWW
* Atua-WWW now ignores ?... appended to URLs