## Parable Progress Report, Mid-February Since last month's initial release of Parable many things have been changed. Here's a quick overview: Added: * lookup-name * invoke * round * redefine * stack-values * abort * abort * number? * character? * string? * bytecode? * remark? * funcall? * flag? * pointer? New Prefixes: * @ * ! Renamed: COMMENT -> REMARK :comment -> :r :call -> :x FUNCTION-CALL. -> FUNCALL *Current-Buffer -> CurrentBuffer *Buffer-Offset -> BufferOffset *TOB -> TOB *Hash-Prime. -> HashPrime Removed: * value * values * value! * value-handler * to * @ * ! * if-number * if-character * if-string * if-flag * if-pointer Fixed: * The GC no longer reclaims hidden functions * String interpolation no longer injects extra spaces when the source list is smaller than the number of insertion points * Joining a string now works properly * Character parsing ($ prefix) now works properly * Lots of typos in the documentation * Empty strings now have a length of zero as expected * Redefining a variable with an initial value now works properly Other: * Full support for Python3 (both CPython and PyPy3) * Improved reentrancy for functions using variables in the standard library * Parable is now case sensitive * Rewrote nip, tuck, over, reset in Parable and removed the old byte codes * apropos now returns a string with the stack comment as well as the closing comment (if it exists) Interfaces: * Added PaaS (Parable-as-a-Service) backend and example code * Removed *ika* * Added *Allegory*, a replacement for *ika* which also has an interactive mode based on *Listener* * *Legend* no longer crashes when including files * Readline support added to *Legend*, *Listener*, and *Allegory* * Interfaces now support CTRL+C for aborting long running execution and exiting the interactive interpreters * Removed the obsolete *Apologue* backends * Fixed *Punga* to work with the latest sources * *Listener* now aligns multiline input with the input prompt * *Listener*, *Legend*, *Apologue*, and *Pre* all load a **~/.parable** file before processing input (if it exists) ### Future Projects I have a few things to do before the 2016.2 release: * Remove *pre* (it's redundant due to *allegory*) * Adapt *allegory* to work under Pythonista without changes