This release of Retro brings a number of changes that may require small alterations to existing sources. Specifically:
- maximum string length is now 256 cells by default
- hidden functions are no longer revectorable
The first is not a big deal. It's now possible to alter both the maximum string length and the number of temporary buffers. To restore a 512 cell size as in 11.2:
here 512 allot constant <512-TIB> [ <512-TIB> ] is tib [ 512 ] is STRING-LENGTH
The second change shouldn't be too critical. Basically it means that this will no longer work:
{{ : foo ( - ) 50 ; ---reveal--- : bar1 foo foo + ; [ 100 ] is foo }}
Any private definitions are no longer revectorable. If you have no ---reveal--- in a namespace, all functions are non-revectorable. This won't break anything in the standard language or libraries, but could be a problem if you rely on the old behavior in your code.
- new method of implementing quotes
- maximum string length can be altered now
- number of string buffers can be altered now
- internal factors in kernel are no longer revectorable
- removed use of low level conditionals outside of the kernel
- reduced amount of padding in kernel
- reduced default string length to 256 cells
- metacompiler now strips unused space at end of kernel
- reduced image size to under 9k cells
- added until loop combinator
- hidden functions are no longer revectorable
- fixed all reported bugs
- added diet' library for reducing memory usage by trimming string size, buffers
- added fiction' library for simple interactive fiction games
- documentation blocks have consistent formatting now
- include lua bindings (now updated for the lua 5.2 release)
- include sqlite bindings
- c
- add --help flag
- load image from $RETROIMAGE environment variable if not found in working directory
- added variant for Windows users (can be built with tcc)
- golang
- updated to work with current weekly builds
- added README to explain how to build it and cover concurrency additions
- php
- fixed bugs in host environment queries, now feature complete
- embedded
- support pic32 boards running RetroBSD
- updates to arduino implementation from Oleksandr
- now supports MEGA 2560 and Nano boards
- slightly lower memory usage in mbed implementation
- fixed bugs
- updated to use new language features
- added bingo card generator
- added hex dump utility
- added tab completion example (from Luke)
- added example of building strings using a combinator
- add single file covering all of the libraries
- expansions to quick reference
- minor updates to fix small mistakes, clarify things
- properly support multi-line strings in vim highlighter
- the debugger now has a source display view