type-theory

Solid

Expert skill in type theory foundations for implementing type systems including inference, checking, and subtyping

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
87
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Type Theory Skill ## Overview Expert skill in type theory foundations for implementing type systems including inference, checking, and subtyping. ## Capabilities - Implement Hindley-Milner type inference with Algorithm W - Implement constraint-based type inference with unification - Design and implement bidirectional type checking - Implement structural and nominal subtyping - Handle variance (covariant, contravariant, invariant) - Implement row polymorphism and record types - Design flow-sensitive type narrowing - Implement type error message generation ## Target Processes - type-system-implementation.js - semantic-analysis.js - generics-polymorphism.js - effect-system-design.js ## Dependencies Academic type theory literature (TAPL, ATTAPL) ## Usage Guidelines 1. **Algorithm Selection**: Choose between HM inference and bidirectional checking based on language features 2. **Constraint Generation**: Separate constraint generation from solving for cleaner implementation 3. **Error Localization**: Track constraint origins for accurate error location 4. **Variance**: Document variance rules explicitly for all generic positions 5. **Gradual Typing**: Consider gradual typing for mixed typed/untyped codebases ## Output Schema ```json { "type": "object", "properties": { "inferenceAlgorithm": { "type": "string", "enum": ["hindley-milner", "bidirectional", "constraint-based", "flow-sensitive"] }, "subtypingKind": { "type": "string", ...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Related Skills