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