Up to Main Index                          Up to Journal for December, 2023

                    JOURNAL FOR FRIDAY 29TH DECEMBER, 2023
______________________________________________________________________________

SUBJECT: Mere ICE updated to v0.0.11
   DATE: Fri 29 Dec 21:38:15 GMT 2023

Mere ICE has been updated to v0.0.11 in the annexed works[1]. The update comes
two weeks after the v0.0.10 release. This release is mostly a clean-up adding
accidentally omitted features. However, there are four new operators:

  **   base x exponential of n, xⁿ
  **=  augmented assignment base x exponential of n, xⁿ
  ~l=  augmented assignment of regex substitute matches converted to lowercase
  ~u=  augmented assignment of regex substitute matches converted to uppercase

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

From the “What’s New” section:

  v0.0.11 — Friday 29th December, 2023
  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

    • Cleaned up trailing white-space on traces and dumps.

    • Added "base x exponential of n", xⁿ, operator '**' and augmented
      assignment operator '**=':

        println 2 ** 8 // displays 256
        x := 2
        x **= 4
        println x // displays 16

    • Added omitted bool conversions of labels and label arrays/maps.
      For a label l, bool l returns false if l is the zero value of a
      label else true. For label arrays and maps returns false if empty
      else true.

    • Added omitted bool conversions of regexp and regexp arrays. For a
      regexp re, bool re returns false if re is an empty string, else
      true. For regexp arrays returns false for empty arrays else true.

    • Added omitted increment '++' and decrement '--' of label map
      elements:

        lm := [label] l1 0
        lm[l1]++
        println literal lm // displays [label](15 1)
        l1:

    • Added omitted augmented assignment for multiply '*=', divide '/=',
      addition '+=' and subtraction '-=' of label map elements:

        lm := [label] l1 10
        lm[l1] += 10
        println literal lm // displays [label](16 20)
        l1:

    • Added omitted augmented assignment for bit-wise AND '&=', bit-wise
      OR '|=' and bit-wise XOR '^=' of label map elements:

        lm := [label] l1 4
        lm[l1] |= 2
        println literal lm // displays [label](16 6)
        l1:

    • Added omitted augmented assignment for ~s= to string indexes and
      map elements:

        s := "cat"
        s[1] ~s= `.` "o"
        println s // displays "cot"

        im := [int] 1 "cat"
        im[1] ~s= `^.` "b"
        println literal im // displays [int](1 "bat")

    • Added augmented assignment for regex substitute matches converted
      to lowercase '~l' and substitute matches converted to uppercase
      "~u" operators '~l=' and '~u=':

        s := "caT"
        s ~l= `.$`
        s ~u= `^.`
        println s // displays "Cat"

        s := "cAts"
        s[1] ~l= `.`
        s[2] ~u= `.`
        println s // displays "caTs"

        sa := []string "caT"
        sa[0] ~l= `.$`
        sa[0] ~u= `^.`
        println literal sa // displays []string("Cat")

        im := [int] 1 "caT"
        im[1] ~l= `.$`
        im[1] ~u= `^.`
        println literal im // displays [int](1 "Cat")

--
Diddymus

  [1] The annexed works: /annex/


  Up to Main Index                          Up to Journal for December, 2023