Skip to content

2021.1

Compare
Choose a tag to compare
@crcx crcx released this 23 Jan 21:42
· 590 commits to master since this release

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
  • 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