hex: split the hex codec out of ascii into nox-hex
ascii conflated two concerns: ASCII charset predicates (is_digit,
is_hex_digit, hex_value, hex_char, is_printable) and a full RFC 4648
base16 codec (Ascii.Hex) whose bytesrw stream filters dragged bytesrw
into every consumer that only wanted a char predicate.
The codec now lives in its own package, nox-hex (module Hex), with the
ohex-derived implementation, the unit/fuzz suites and the throughput
bench moved along. ascii keeps the charset predicates, gains the
documented unboxed hex_value_int the codec hot loop uses, and loses
the bytesrw dependency. The nox- prefix avoids the existing community
hex package on opam.
All ~45 consuming packages migrate from Ascii.Hex to Hex, with dune
stanzas and opam metadata updated; stanzas and opam packages whose
only ascii use was the codec drop the ascii dependency. The duplicated
of_hex helpers in the bytesrw-* test suites (dupfind cluster 3) now
alias Hex.decode.
hex: split the hex codec out of ascii into nox-hex
ascii conflated two concerns: ASCII charset predicates (is_digit,
is_hex_digit, hex_value, hex_char, is_printable) and a full RFC 4648
base16 codec (Ascii.Hex) whose bytesrw stream filters dragged bytesrw
into every consumer that only wanted a char predicate.
The codec now lives in its own package, nox-hex (module Hex), with the
ohex-derived implementation, the unit/fuzz suites and the throughput
bench moved along. ascii keeps the charset predicates, gains the
documented unboxed hex_value_int the codec hot loop uses, and loses
the bytesrw dependency. The nox- prefix avoids the existing community
hex package on opam.
All ~45 consuming packages migrate from Ascii.Hex to Hex, with dune
stanzas and opam metadata updated; stanzas and opam packages whose
only ascii use was the codec drop the ascii dependency. The duplicated
of_hex helpers in the bytesrw-* test suites (dupfind cluster 3) now
alias Hex.decode.
hex: split the hex codec out of ascii into nox-hex
ascii conflated two concerns: ASCII charset predicates (is_digit,
is_hex_digit, hex_value, hex_char, is_printable) and a full RFC 4648
base16 codec (Ascii.Hex) whose bytesrw stream filters dragged bytesrw
into every consumer that only wanted a char predicate.
The codec now lives in its own package, nox-hex (module Hex), with the
ohex-derived implementation, the unit/fuzz suites and the throughput
bench moved along. ascii keeps the charset predicates, gains the
documented unboxed hex_value_int the codec hot loop uses, and loses
the bytesrw dependency. The nox- prefix avoids the existing community
hex package on opam.
All ~45 consuming packages migrate from Ascii.Hex to Hex, with dune
stanzas and opam metadata updated; stanzas and opam packages whose
only ascii use was the codec drop the ascii dependency. The duplicated
of_hex helpers in the bytesrw-* test suites (dupfind cluster 3) now
alias Hex.decode.
hex: split the hex codec out of ascii into nox-hex
ascii conflated two concerns: ASCII charset predicates (is_digit,
is_hex_digit, hex_value, hex_char, is_printable) and a full RFC 4648
base16 codec (Ascii.Hex) whose bytesrw stream filters dragged bytesrw
into every consumer that only wanted a char predicate.
The codec now lives in its own package, nox-hex (module Hex), with the
ohex-derived implementation, the unit/fuzz suites and the throughput
bench moved along. ascii keeps the charset predicates, gains the
documented unboxed hex_value_int the codec hot loop uses, and loses
the bytesrw dependency. The nox- prefix avoids the existing community
hex package on opam.
All ~45 consuming packages migrate from Ascii.Hex to Hex, with dune
stanzas and opam metadata updated; stanzas and opam packages whose
only ascii use was the codec drop the ascii dependency. The duplicated
of_hex helpers in the bytesrw-* test suites (dupfind cluster 3) now
alias Hex.decode.