Commit de694f3
Hackworth Ltd Claude Code
fix: reduce type-level let (TLet) RHS in the interpreter
`interpTy` bound the right-hand side of a type-level `tlet` into the type
environment unevaluated, while the `TVar` lookup returns stored values
verbatim -- relying on them being normal forms. Every other binding site
(term-level `Let`, `LetType`, `BETA`/`APP`, the `Case` argument types, and
`TForall`) already interprets its RHS first; `TLet` was the lone exception.
Interpret the RHS before binding it. This is safe and terminating, since
type evaluation always terminates. It fixes both witnesses from the
previous commit: type-level `let`s now fully reduce instead of leaving a
dangling out-of-scope variable or residual `tlet`s.
Fixes #1439.1 parent b4aed7e commit de694f3
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
383 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
384 | 388 | | |
385 | 389 | | |
386 | 390 | | |
| |||
0 commit comments