plans: tick dict-passing elaborator + progress log
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 36s

This commit is contained in:
2026-05-06 08:57:23 +00:00
parent 60a8eb24e0
commit fb51620a4c

View File

@@ -100,7 +100,7 @@ Key mappings:
### Phase 5 — typeclasses (dictionary passing) ### Phase 5 — typeclasses (dictionary passing)
- [x] `class` / `instance` declarations - [x] `class` / `instance` declarations
- [ ] Dictionary-passing elaborator: inserts dict args at call sites - [x] Dictionary-passing elaborator: inserts dict args at call sites
- [ ] Standard classes: `Eq`, `Ord`, `Show`, `Num`, `Functor`, `Monad`, `Applicative` - [ ] Standard classes: `Eq`, `Ord`, `Show`, `Num`, `Functor`, `Monad`, `Applicative`
- [ ] `deriving (Eq, Show)` for ADTs - [ ] `deriving (Eq, Show)` for ADTs
@@ -114,6 +114,13 @@ Key mappings:
_Newest first._ _Newest first._
- **2026-05-06** — Phase 5 dict-passing elaborator. `hk-bind-decls!` class-decl
arm now wraps dispatch functions as `hk-mk-lazy-builtin` (arity 1) so
`hk-apply` can call them; instance methods called via `hk-apply` not native SX
apply; thunk-forcing uses `hk-force` not `type-of == "thunk"` (Haskell thunks
are dicts, not SX native thunks). `tests/class.sx` gains 3 dispatch tests
(Int instance, Bool instance, error on unknown). 506/506 green.
- **2026-05-06** — Phase 5 class/instance declarations. Parser: `hk-parse-class` - **2026-05-06** — Phase 5 class/instance declarations. Parser: `hk-parse-class`
and `hk-parse-instance` added to the parser closure; `hk-parse-decl` gains and `hk-parse-instance` added to the parser closure; `hk-parse-decl` gains
arms for `"class"` and `"instance"` reserved words (tokenizer already marks arms for `"class"` and `"instance"` reserved words (tokenizer already marks