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