effect-systems

Solid

Expert skill for designing and implementing algebraic effect systems including effect annotation, inference, handlers, polymorphism, and row-based effect typing.

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 95/100

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

Skill Content

# Effect Systems Skill Design and implement algebraic effect systems for tracking and handling computational effects in programming languages. ## Capabilities - Design effect annotation syntax - Implement effect inference algorithms - Implement effect checking and tracking - Design effect handlers (algebraic effects) - Handle effect polymorphism - Implement effect rows and extensibility - Design effect subtyping - Generate effect-based optimizations ## Usage Invoke this skill when you need to: - Add an effect system to a language - Implement algebraic effects and handlers - Track computational effects in types - Design effect polymorphism ## Inputs | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | effectModel | string | Yes | Model (algebraic, monadic, capability) | | inferenceStrategy | string | Yes | Strategy (annotated, inferred, mixed) | | features | array | No | Features to implement | | builtinEffects | array | No | Built-in effects to include | ### Effect Model Options ```json { "effectModel": "algebraic", // Koka/Eff style "effectModel": "monadic", // Haskell IO style "effectModel": "capability" // Capability-based } ``` ### Feature Options ```json { "features": [ "effect-inference", "effect-handlers", "effect-polymorphism", "effect-rows", "effect-subtyping", "effect-abstraction", "resumption-control", "multi-shot-continuations" ] } ``` ## Output Structure ``` effec...

Details

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

Related Skills