retroforth/RELEASE_NOTES.md

88 lines
2 KiB
Markdown
Raw Normal View History

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.