will now start including a RELEASE_NOTES file for the release. (Starting w/2017.12)
FossilOrigin-Name: 67239bbb7ebda09554e6be614bb7dc9d41ec486493be9cf243fa1cda1148ca89
This commit is contained in:
parent
53dc840260
commit
4fffa080cf
2 changed files with 94 additions and 0 deletions
68
RELEASE_NOTES.md
Normal file
68
RELEASE_NOTES.md
Normal 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
|
||||
|
|
@ -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 ;
|
||||
~~~
|
||||
|
||||
|
|
Loading…
Reference in a new issue