will now start including a RELEASE_NOTES file for the release. (Starting w/2017.12)

FossilOrigin-Name: 67239bbb7ebda09554e6be614bb7dc9d41ec486493be9cf243fa1cda1148ca89
This commit is contained in:
crc 2017-11-19 01:12:29 +00:00
parent 53dc840260
commit 4fffa080cf
2 changed files with 94 additions and 0 deletions

68
RELEASE_NOTES.md Normal file
View file

@ -0,0 +1,68 @@
RETRO 12 - 2017.12 (WIP)
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.
- 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`
- Addtions to `file`:
- `file:spew`
- Interactive mode when launched with `-i`:
rre -i
- `bin/listener` now uses `rre` directly and no longer has to copy the RETRO code into a temporary file.
Documentation:
- Added a `Building.md` with some notes on the build process.
- Fixed formatting issues in the `LICENSE.md` (thanks to Mateusz Piotrowski)
- Build now uses a shell script instead of multiple Makefiles
- 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

View file

@ -406,6 +406,31 @@ to use.
;
~~~
~~~
:display-result (-)
field:name dup '0%s\tgopher:describe_%s\tforthworks.com\t7200\n s:with-format puts ;
:gopher:list-words (-)
'words.tsv [ s:keep !SourceLine display-result ] file:for-each-line ;
~~~
~~~
:eol? (c-f)
[ ASCII:CR eq? ] [ ASCII:LF eq? ] [ ASCII:HT eq? ] tri or or ;
:gets (a-)
buffer:set [ getc dup buffer:add eol? not ] while ;
'Selector d:create
#1024 allot
:gopher:serve
&Selector gets
&Selector #0 #4 s:substr 'desc s:eq?
[ &Selector puts nl ]
[ gopher:list-words ] choose ;
~~~
# Finish
First, a word to handle command line arguments.
@ -418,6 +443,7 @@ First, a word to handle command line arguments.
'edit [ handle-edit ] s:case
'add [ add-word ] s:case
'delete [ delete-entry ] s:case
'gopher [ gopher:serve ] s:case
drop show-help ;
~~~