;;;; Every ASCII code point, the C1 controls, and a few past them, as dyn chars printed one per ;;;; line. The test reads each line back with the reader and wants the same ;;;; code point, so what a char prints as is what reads as it. (defn main [] i32 (let [v (vec-new u8)] (dotimes [i 128] (push v (u8 i))) (let [t (the dyn (str (slice v)))] (dotimes [i (length t)] (println (at t i)))) ;; the C1 controls, U+0080 to U+009F, and U+00A0, each C2 then one byte (let [w (vec-new u8)] (dotimes [i 33] (push w (u8 0xC2)) (push w (u8 (+ 0x80 i)))) (let [c1 (the dyn (str (slice w)))] (dotimes [i (length c1)] (println (at c1 i)))) (free w)) (let [u (the dyn "é日😀")] (dotimes [i (length u)] (println (at u i)))) (free v)) 0)