Skip to content

Full type checker implementation#95

Open
purefunctor wants to merge 420 commits intomainfrom
relentless-type-checking
Open

Full type checker implementation#95
purefunctor wants to merge 420 commits intomainfrom
relentless-type-checking

Conversation

@purefunctor
Copy link
Owner

The goal of this branch is to be able to compile the core packages; the compiler-compatbility crate provides a utility that shows compilation errors for each module in the package. There's still a very long journey ahead.

purefunctor and others added 30 commits February 14, 2026 18:03
This fixes a bug where foreign data declarations fail to check when they
depend on data declarations. Previously, the data declaration would have
been checked later than the foreign data declaration, causing an error.
The bug manifests when two exported modules contain overlapping names.
The previous representation assumed that we can merge names across
qualified imports, generating errors for duplicates.
This updates the constraint checker to properly consider kind arguments.
This surfaced issues in compiler-constructed constraint applications that
were missing kind arguments. Class member instantiation has also been
updated to use kind arguments from instance declarations rather than
create fresh unification variables.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant