]> Repositorios git - classgraph.git/commit
Refresh INTERNALS.md for today's data-family + resolution work
authorJavier Sagredo <[email protected]>
Thu, 7 May 2026 01:07:03 +0000 (03:07 +0200)
committerJavier Sagredo <[email protected]>
Thu, 7 May 2026 01:07:03 +0000 (03:07 +0200)
commitd8c99ff73b6cb908584fdab5db689b5a56a5ce1e
tree4661fd11b854b06c52a710a04409f54f6a5beb6e
parentb459422c5227b98bdb35a317ed256b2bc5fd7e44
Refresh INTERNALS.md for today's data-family + resolution work

* Type family instances section: documents the data-family R:
  rewrite (rep tyvars substituted with use-site args), the resulting
  fiRhs being structurally equal to the LHS (and the reducer
  guarding against the loop), the famInstTyCon-vs-rep_tc quirk,
  and the new fiDataCons/DataConInfo extraction.

* Resolution algorithm: adds the per-pivot reduceTypeArg step in
  replaceFamilyApp (today's fix that lets nested-family use sites
  like F (G a) finally unify with concrete fi candidates), the
  fall-back chain edge to the predicate node when no class instance
  matches, and renumbers the surrounding steps.

* Predicate-node placeholders: documents the empty-args
  use-site skip (no placeholder for unapplied-family references
  like `class HasTables l` with `HasTables LedgerState` in the
  context), and the side panel's two-reason explanation of why a
  placeholder fired.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
docs/INTERNALS.md