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