Brummel
3286117605
iter 24.2: class Show + 4 primitive instances + 22b TShow migration
...
Ships class Show a where show : (a borrow) -> Str in the prelude
plus primitive Show Int / Bool / Str / Float instances. Each
instance body is a single-application lambda invoking the
corresponding runtime primitive (int_to_str, bool_to_str,
str_clone, float_to_str) — first prelude instance bodies to call
runtime primitives directly. Float is included in Show (unlike
Eq/Ord) because textual representation is well-defined modulo the
NaN-spelling caveat at DESIGN.md §Float semantics.
The 22b typeclass test corpus is migrated preemptively: 21 fixture
files and 6 consumer files (typeclass_22b{2,3}.rs +
hash.rs ct4 pin + workspace.rs iter22b1 tests + the
instance_present.prose.txt snapshot) rename class Show / show
to class TShow / tshow, analogous to the existing TEq/TOrd
convention. Migration runs before the prelude additions so the
workspace stays green throughout.
Three new tests pin the post-mono shape: show_mono_synthesis.rs
(existence of show__Int/Bool/Str/Float as Def::Fn entries in the
prelude post-mono module), show_dispatch_pin.rs (bare show and
tshow both Step-2 singletons workspace-globally),
mono_hash_stability.rs::primitive_show_mono_symbol_hashes_stay_bit_identical
(body hashes pinned for the 4 new mono symbols).
DESIGN.md §Prelude (built-in) classes drops Show from the
deferred-features list and appends a milestone-24 paragraph
naming the class signature + the 4 instances + the body shape.
print rewire stays deferred to iter 24.3.
Tests: 552 passed (was 548 + 4 new). bench/compile_check +
bench/cross_lang exit 0. bench/check exits 1 on the recurring
noise envelope per the conservative-call lineage.
2026-05-13 03:31:40 +02:00
..
2026-05-12 14:20:27 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 00:55:57 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:11:26 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:11:26 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 00:55:57 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:05:03 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:05:03 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:21:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 18:13:43 +02:00
2026-05-10 01:03:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 00:06:20 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 02:07:07 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 14:45:35 +02:00
2026-05-07 11:07:36 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 02:26:12 +02:00
2026-05-07 13:03:20 +02:00
2026-05-13 01:11:56 +02:00
2026-05-11 10:09:48 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 22:23:46 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:12:24 +02:00
2026-05-12 00:38:52 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-10 22:46:51 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:31:35 +02:00
2026-05-12 18:30:55 +02:00
2026-05-10 16:25:25 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 17:45:33 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 21:29:05 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 12:20:18 +02:00
2026-05-07 12:44:10 +02:00
2026-05-12 21:29:05 +02:00
2026-05-12 18:30:55 +02:00
2026-05-12 18:30:55 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 17:16:28 +02:00
2026-05-07 13:14:28 +02:00
2026-05-07 10:38:07 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:00:23 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:27:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:27:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 21:00:49 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:33:48 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:07:05 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:16:12 +02:00
2026-05-12 00:38:52 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 14:45:35 +02:00
2026-05-11 23:59:45 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-13 02:19:21 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:48:14 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:10:01 +02:00
2026-05-11 01:40:20 +02:00
2026-05-11 09:58:22 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 12:18:12 +02:00
2026-05-07 14:10:51 +02:00
2026-05-07 14:10:51 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:39:28 +02:00
2026-05-13 03:31:40 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 23:03:10 +02:00
2026-05-08 10:25:22 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 15:21:40 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:37:36 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:25:07 +02:00
2026-05-08 10:37:25 +02:00
2026-05-08 10:37:25 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 13:56:17 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:18:30 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 10:55:31 +02:00
2026-05-13 03:31:40 +02:00
2026-05-07 17:45:33 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:48:43 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:59:42 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:57:06 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:48:43 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:34:49 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:05:45 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:39:16 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:05:45 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:08:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:08:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:12:23 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:12:23 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 18:30:55 +02:00
2026-05-07 17:45:33 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 03:31:40 +02:00
2026-05-12 00:38:52 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-10 22:35:37 +02:00
2026-05-10 22:35:37 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-09 17:50:29 +02:00
2026-05-09 17:45:27 +02:00
2026-05-09 18:07:52 +02:00
2026-05-09 18:07:52 +02:00
2026-05-10 22:35:37 +02:00
2026-05-13 03:31:40 +02:00
2026-05-10 22:34:30 +02:00
2026-05-13 03:31:40 +02:00
2026-05-10 22:34:30 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-09 20:59:43 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-10 04:47:50 +02:00
2026-05-13 03:31:40 +02:00
2026-05-09 21:28:41 +02:00
2026-05-13 03:31:40 +02:00
2026-05-13 03:31:40 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 22:41:18 +02:00
2026-05-11 01:46:58 +02:00
2026-05-11 01:46:58 +02:00
2026-05-11 01:46:58 +02:00
2026-05-10 22:16:51 +02:00
2026-05-10 22:16:51 +02:00
2026-05-10 01:19:45 +02:00
2026-05-10 01:19:45 +02:00
2026-05-10 01:06:18 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:23:21 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:31:57 +02:00