retroforth/RELEASE_NOTES.md
crc 210b451ebb Update release notes
FossilOrigin-Name: 6d57a89a8096199163daee5897dbac6c063339712dadb9b5d7b15235ef620a0e
2017-12-04 01:01:58 +00:00

2 KiB

RETRO 12 - 2017.12

Bug fixes:

  • Now builds using GCC (thanks to wuehlmaus in the IRC channel for discovering a bug related to the order of linker arguments when dealing with GCC)
  • Now builds on older Ubuntu systems with broken GNU make.

Language Improvements:

  • ASCII constants are now using class:data (reducing image size by nearly 500 cells and removing call/return overhead when used)
  • s:with-format now supports _
  • Added s:split-on-string
  • Added s:index-of-string
  • Added s:replace
  • Added s:tokenize
  • Added s:tokenize-on-string

Interfaces:

  • RRE has significant improvements.

    • Added gets to read a string

    • a unix: namespace with access to system-specific functionality:

      • unix:system
      • unix:popen
      • unix:pclose
      • unix:fork
      • unix:wait
      • unix:exec0
      • unix:exec1
      • unix:exec2
      • unix:exec3
      • unix:getpid
      • unix:kill
      • unix:getenv
      • unix:putenv
      • unix:chdir
      • unix:write
      • unix:sleep
    • Additions to f:

      • f:sin
      • f:cos
      • f:tan
      • f:asin
      • f:acos
      • f:atan
    • Addtions to file:

      • file:spew
    • Interactive mode (line buffered) when launched with -i:

      rre -i

    • Interactive mode (character buffered) when launched with -c:

      rre -c

    • When launching with -i or -c you can also use -f to specify a file to load:

      rre -c -f filename.ext

    • bin/listener now uses rre directly and no longer has to copy the RETRO code into a temporary file.

Other:

  • added a c# implementation of the REPL

Documentation:

  • Added a Building.md with some notes on the build process.
  • Fixed formatting issues in the LICENSE.md (thanks to Mateusz Piotrowski)
  • Added a database (tab separated data) of the words
  • Added a glossary tool to search, edit, and extract data from the words database

Examples:

  • Added edit.forth, a functional text/code editor

Final Notes:

Special thanks go to wuehlmaus for his help in testing everything and very useful feedback.