Type Theory

SkillAI & models

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

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Type Theory skill

What this skill tells your AI

The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/programming-languages/skills/type-theory/SKILL.md and read by ahel’s review.

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

{
  "type": "object",
  "properties": {
    "inferenceAlgorithm": {
      "type": "string",
      "enum": ["hindley-milner", "bidirectional", "constraint-based", "flow-sensitive"]
    },
    "subtypingKind": {
      "type": "string",
      "enum": ["structural", "nominal", "mixed"]
    },
    "features": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}

Signals

GitHub stars
2k
Forks
112
Last commit
Sep 2026
Advanced
Item type
skill
Key
type-theory
Source
github.com/a5c-ai/babysitter