Retro is a concatenative, stack based language with roots in Forth.
It is designed to be small, easily learned, and easily modified to meet specific needs, it has been developed and refined through continual use by a small community over the last decade.
This blog is written in Retro and has served as my primary means of posting things concerning Retro since 2010. The core code for Corpse is included in the Retro releases and can be freely studied and deployed.
The most recent posts are shown below. You can also view a list of all posts.
I will be releasing Retro 11.3 on March 16. Any contributions will need to be submitted by the 14th to give me time to do final testing and merging.
This release brings a number of changes and improvements. Covering the more significant ones:
core language / standard image - 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 libraries - 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 extensions - include lua bindings (now updated for the lua 5.2 release) - include sqlite bindings vm - 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 examples - 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 documentation - add single file covering all of the libraries - expansions to quick reference - minor updates to fix small mistakes, clarify things other - properly support multi-line strings in vim highlighter - the debugger now has a source display view
The image is now down to 8,566 cells. This frees up a fair bit of memory for embedded targets, and reflects a significant amount of work in cleaning up the core implementation.
Overall I'm extremely pleased with the way this release is shaping up. hope to make further improvements, especially in the documentation realm over the next week or so, but the core image is unlikely to change any further.