Up to Main Index Up to Journal for December, 2023 JOURNAL FOR WEDNESDAY 13TH DECEMBER, 2023 ______________________________________________________________________________ SUBJECT: Mere ICE updated to v0.0.10 DATE: Wed 13 Dec 19:55:37 GMT 2023 Mere ICE has been updated to v0.0.10 in the annexed works[1]. The update comes just over two weeks after the v0.0.9 release. This release sees the addition of three new tilde operators: ~l (lower-case matches), ~u (upper-case matches) and ~j (concatenate string array elements with separator). Two new bit-wise shift augmented assignment operators have been added: <<= and >>=, these were previously omitted by accident. The performance of range-next loops over non-trivial arrays and maps has been fixed. A issue with break/continue in consecutive loops that are nested in other loops has been fixed. A lot of work has been going on behind the scenes cleaning up and improving the various phases of the compiler. As a result some bugs may have snuck in :( All tests in the current test suite on AMD64, ARM32 and ARM64 platforms are passing. If you have any odd issues please drop me an email and I’ll look into it promptly: diddymus@wolfmud.org NOTE: Please make sure the version in the top right of Mere ICE shows ‘v0.0.10’ and if not hard refresh the web page in your browser. From the “What’s New” section: v0.0.10 — Wednesday 13th December, 2023 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ • Fixed float to uint conversions on ARM64. • Fixed performance when using range-next loop on non-trivial arrays and maps — where non-trivial is over a few thousand elements. • Fixed break/continue within consecutive loops that are nested in other loops. • New tilde operators added: ~l Lowercase regular expression matches ~u Uppercase regular expression matches ~j Join string array elements together with a separator Examples: println "CAT" ~l \`(?:.(..))\` // displays "Cat" println "the quick brown fox" ~u \`(\\b\\w)\` // displays "The Quick Brown Fox" sa := []string "c" "a" "t" println sa ~j ", " // displays "c, a, t" println sa ~j "" // displays "cat" • New bit-wise shift augmented assignment operators added: i := 4; i <<= 2 // i is 16 i := 32; i >>= 2 // i is 8 • Internal reworking of compiler phases — there may be bugs! -- Diddymus [1] The annexed works: /annex/ Up to Main Index Up to Journal for December, 2023