## Some Updates ### Parable I've been focusing on refactoring and making internal improvements to the Parable VM this month. It's been going well. Here are some highlights: * The stack is now implemented as an array of tuples * The dictionary is now implemented as an array of tuples * Backtrace on abort * Assigned error code E05 to bytecode type/depth errors * Improved line condenser (no more need of \ to join lines) * Refactored the stack\_change\_type() routine * Now using Python string interpolation to construct errors, other reportings * Internal stack value to readable value conversions * New tokenizer which can better detect unbalanced quotations * Various bug fixes for cases when invalid types or values were causing crashes * Reduced memory usage * Better type preservations in the byte codes (e.g., BC\_MEM\_COPY, BC\_REVERSE, etc) * Removed BC\_ROUND and finished renumbering the remaining byte codes * BC\_ADD now allows for additional forms: append or prepend character to a string and concatenate two characters into a string The standard library has seen some updates: * Added **byKey:** for arrays of key:value pairs * Added **vocab{** and **}vocab** * Added **/rem** * Added **cycle** And on the interface front, I have a fully functional PaaS backend, a slightly nicer web interface, and have done some work on Allegory. Parable 2016.04 will support generation of a ctags-compatible database, and Allegory will be able to use/update this to track definition points. ### Other Stuff I picked up a Kindle Voyage when Amazon had their sale last week. It arrived Monday; I've been enjoying it since then - it's nice to read without distractions and it'll fit nicely into my bike bag when I start biking to work again in a couple of weeks. (The iPad doesn't really fit, so I'll be leaving it behind more as the weather improves). I was sick for a couple of days (stomach bug), but am mostly ok now.