Repository navigation
Jacket 0.19.1
Restores stdlib compatibility and makes jaic faster. Several stdlib changes in 0.19.0 made observable behaviour differ from the official standard library; they are reverted, and UTF-8 decoding of malformed input now matches it too.
Performance
jaicuses mimalloc instead of the system allocator, which makes checks and builds about 7–13% faster (a 60k-line check takes 137 ms instead of 154 ms).
Fixes
split_from_right(s, byte)returns(false, "", s)again when the byte is absent.scanchecks the%that%%matches but leaves it unconsumed again.Sort.quick_sortis no longer deprecated, andSortno longer exportsintro_sortorheap_sort.quick_sortkeeps the faster introsort from 0.19.0, and its key form still computes each key once.IntroSort.intro_sortis unchanged.- Strict
character_utf8_to_utf32again reports only the bytes before a bad continuation byte as consumed, which is 0 when the first continuation is bad. character_utf32_to_utf8encodes surrogates (U+D800 to U+DFFF) as themselves again.find_index_from_left(s, substring, start_index)asserts on a negativestart_indexinstead of treating it as 0.Window_Creationbuilds for Android again instead of failing with an#assert.character_utf8_to_utf32decodes malformed input to the payload bits of its bytes: a continuation byte without its10marker contributes its low six bits, and a stray continuation byte decodes as 0 in one byte, also in strict mode.