2021.1
RetroForth 2021.1 Release Notes
Core Language
choose
(and other conditionals) now treat non-zero asTRUE
and
zero asFALSE
instead of requiring a flag of -1 forTRUE
- 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
- fixed several bugs in address stack handling in execute() that
were causing issues when including files in some circumstances
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
- fixed a bugs in address stack handling in execute() that was
causing issues when including files in some circumstances
nga-nim
- added initial Nim implementation by Jorge Acereda
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