Up to Main Index                              Up to Journal for July, 2023

                      JOURNAL FOR FRIDAY 14TH JULY, 2023
______________________________________________________________________________

SUBJECT: Mere ICE updated to v0.0.3
   DATE: Fri 14 Jul 16:03:44 BST 2023

Mere ICE has been updated to v0.0.3 in the annexed works[1]. This update comes
ten weeks after the v0.0.2 release. Mere now supports an unsigned integer,
uint, data type. The time built-in has been reworked. A new elapsed built-in
has been added. For details on unsigned integers, time and elapsed see their
entries in the reference section. Two new example programs have been added: an
ASCII table and a bit shifter.

NOTE: Please make sure the version in the top right of Mere ICE shows ‘v0.0.3’
      and if not hard refresh the web page in your browser.

One last minute change also sneaked in. As the bit-wise NOT ‘¬’ operator wasn’t
very popular[2], it is now an alias for ‘!’. The ‘!’ operator is now a logical
NOT when used with a boolean and a bit-wise NOT when used with a uint. For
example:


    >cat test.mr
    b = true
    x = uint 10u
    println  b
    println !b
    printf "%08b\n"  x & 0xFFu
    printf "%08b\n" !x & 0xFFu
    >mere test.mr
    true
    false
    00001010
    11110101
    >


From the “What’s New” section:


  v0.0.3 — Friday 14th July, 2023
  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

    • For strings and arrays the count maybe omitted from the delete built-in.
      If count is omitted a value of 1 is assumed.

    • Plain assignment and indexed assignment now have lower precedence than
      fused assignment operators, for example ‘+=’.

    • Improved parsing of increment '++' and decrement '--' operators.

    • Reformat Mere ICE documentation from 51 to 70 columns. Dome users may
      need to select a smaller font using the font toggle.

    • Return types now included in synopsis for built-ins in the reference
      section.

    • Reworked time built-in and new elapsed built-in. Resolves issue with
      time range on 32-bit platforms being too small to be useful. See
      reference section for time and elapsed for details.

    • Added support for uint data type, with additional + new tests.

    • Added bit-wise NOT operator ‘¬’ to invert all bits in a uint. The ‘¬’
      symbol is Unicode “NOT SIGN” U+00AC.

      This is an alias for '!', which may be used instead. The '!' operator
      has been overloaded to work as logical NOT with bools and bit-wise NOT
      with uints.

    • Allow more formats when converting a string to an integer, unsigned
      integer or float.

    • Improve handling of converting negative integer, unsigned integer and
      float.

    • Improved handling of negative literals in expressions and statements.

    • Fixed inconsistencies and issues on 32-bit platforms.

    • Added ASCII table example program.

    • Added bit swapper example program.


As always, if you find any bugs or have problems or suggestions then please
drop me a quick email: diddymus@wolfmud.org

--
Diddymus

  [1] The annexed works: /annex/

  [2] People find it difficult to type ‘¬’ on modern keyboards…


  Up to Main Index                              Up to Journal for July, 2023