Up to Main Index Up to Journal for August, 2023 JOURNAL FOR WEDNESDAY 16TH AUGUST, 2023 ______________________________________________________________________________ SUBJECT: Mere ICE updated to v0.0.5 DATE: Wed 16 Aug 21:38:43 BST 2023 Mere ICE has been updated to v0.0.5 in the annexed works[1]. This update comes ten days after the v0.0.4 release. Mere now supports if-elif-else-fi blocks. Subroutines have been dropped from the language. As a result gosub and endsub are no longer reserved keywords. All documentation and examples have been “modernised” to use for/next loops, ‘is’ and if-elif-else-fi. Variable storage has had an overhaul making function calls faster - and the performance hit is only about 5% and not 10% I posted previously :) NOTE: Please make sure the version in the top right of Mere ICE shows ‘v0.0.5’ and if not hard refresh the web page in your browser. From the “What’s New” section: v0.0.5 — Wednesday 16th August, 2023 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ • Support added for if-elif-else-fi blocks: if x == 1 println "one" elif x == 2 println "two" else println "many" fi The elif and else cases are optional. The number of ‘elif’ cases per ‘if’ only limited by the int data type. The if-elif-else-fi blocks may be nested, levels of nesting limited by int data type. • The short ‘if’ is now written using ‘is’ to avoid conflicts with the new if-elif-else-fi blocks. For example: if x == 0; return // old style short ‘if’ is x == 0; return // new short style using ‘is’ if x == 0; return; fi // new long style using if-fi block • Support for subroutines, gosub and endsub have been removed. We now have working functions which are a much better alternative. • All documentation and examples have been “modernised” and updated, where appropriate, to use: · functions instead of subroutines · if-elif-else-fi and is · for-next loops instead of old style gotos • Overhauled variable management resulting in faster function calls. As a result Mere can be upto 5% slower in some cases. • The dump built-in now reports global variables and labels in a “Global Storage” section. The “Stacks Storage” section now includes local variables in scope per stack. • Added reference section for multiple-assignment ‘><’ built-in, it’s not actually an operator due to the variable number of operands it can take. As always, if you find any bugs or have problems or suggestions then please drop me a quick email: diddymus@wolfmud.org Please… if you find problems, the documentation is unclear or lacking then let me know so that I can do something about it. -- Diddymus [1] The annexed works: /annex/ Up to Main Index Up to Journal for August, 2023