4d0d3b58e663195a5ace94a1f8f86c8b42ee67e2
Rewrite the buffer-based base64 placeholder as a faithful port of ref/hare/encoding/base64/base64.ha over the just-landed io-streaming surface (mirrors lib/encoding/hex). Ships: std_encoding/url_encoding (module-level `def` consts; decmap trailing 0xff run spelled out, no '...', to stay on #251 and avoid the #250 repeat-fill sugar); the streaming encoder newencoder/encode/ encodeslice/encodestr with a padding closer wired into the inline vtable; encodedsize/decodedsize; and decodestr as a direct in-memory decode via decmap (the same divergence hex took for its direct path — its return union carries errors.invalid, unconstrained by io.error). Deferred (at-site notes): the streaming decoder newdecoder/decode_reader (#247-sibling, blocked on #199b — io.error lacks errors.invalid). clear() wipes the work buffers with explicit full-length slices (`[0:len(...)]`) rather than Hare's bare-array decay (pending #258 [N]T->[]T coercion) to preserve the whole-array hygiene wipe. base64 graduates off 900_stdlib (cross-module refs resolve only via driver concatenation, as hex did); coverage at 984_base64_run over the RFC 4648 §10 vectors for std and url.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%