curryhoward
Automatic code generation for Scala functions and expressions via the Curry-Howard isomorphism
Explore integrating curryhoward with Cats and Scalaz for automatic type class derivation. Generate instances using intuitionistic logic, simplifying your Scala projects.
Limitations of curryhoward with Zero‑Argument Functions: A Technical AnalysisExplore the limitations of curryhoward with zero-argument functions. Learn why its type engine fails to synthesize implementations for UnitT, impacting lambda term generation.
Understanding Eta-Contraction and Alpha-Conversion in CurryHoward's Term SimplificationLearn how eta-contraction and alpha-conversion simplify terms in CurryHoward's theorem prover, eliminating redundant arguments and preventing variable capture for clean lambda terms.
How to Automatically Implement Functions for the State Monad Using CurryHowardAutomatically implement State monad functions like point map and flatMap with CurryHoward. Derive transformations from type signatures for efficient compile-time synthesis.
How to Use the `WithLambdaTerm` Extension to Access Generated Lambda-Terms at RuntimeDiscover how to use the WithLambdaTerm extension to access generated lambdaTerms at runtime. Inspect the symbolic lambda-calculus representation of your synthesized functions.
How CurryHoward Converts STLC Terms into Scala Code via MacrosLearn how CurryHoward converts STLC terms to Scala code using macros. Discover compile-time type expression building, LJT proofs, and Scala AST emission.
Performance Implications of Compile-Time Theorem Proving in curryhowardExplore compile-time theorem proving performance in curryhoward. Understand Scala compilation costs and how heuristics manage exponential complexity for efficient type checking.
How to Use `anyOfType` to Get All Possible Implementations in Curry-Howard Regardless of Information LossDiscover how to use the anyOfType macro to retrieve all implementations of a type in Curry-Howard, bypassing information loss for complete results.
How CurryHoward Handles Tuples and Functions with Arity Greater Than 2Discover how CurryHoward elegantly manages tuples and functions with arity greater than 2 by encoding them as named conjunctions and nested curried terms.
Does CurryHoward Support Type Aliases and Parametric Polymorphism?Discover if CurryHoward supports type aliases and parametric polymorphism. Learn how its Scala macro system handles type aliasing and type parameters for robust code.
How to Resolve Compile-Time Errors When Multiple CurryHoward Implementations Have Equal Information LossResolve CurryHoward compile-time errors caused by equal information loss. Learn to make types specific, use literal arguments, or apply allOfType to fix ambiguity.
How the typeExpr Macro Constructs Lambda-Calculus Type Expressions from Scala TypesLearn how the typeExpr macro transforms Scala types into lambda-calculus type expressions using compile-time reflection. Discover its AST construction for functions, case classes, and sealed traits.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →