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