system-f

Implement System F polymorphic lambda calculus with type abstraction and application.

17|2|Updated Feb 16, 2026
One-click install
npx skills add https://github.com/rainoftime/pl-skills --skill system-f
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: system-f
Source: https://github.com/rainoftime/pl-skills/tree/main/system-f
Command: npx skills add https://github.com/rainoftime/pl-skills --skill system-f

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill enables the implementation and understanding of System F, a foundational calculus for advanced type systems, allowing for generic programming and robust type safety.

Core Features & Use Cases

  • Type Abstraction & Application: Implement universal quantification over types.
  • Polymorphic Type Systems: Build generic data structures and functions.
  • Use Case: Develop a generic list implementation that can hold elements of any type, ensuring type safety at compile time.

Quick Start

Implement System F with type abstraction and application, ensuring type safety.

Frequently Asked Questions about system-f

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement polymorphic lambda calculus with type abstraction and type application?

You can implement polymorphic lambda calculus by defining type abstraction and type application constructs that support universal quantification over types, ensuring type safety through progress and preservation theorems. This provides robust compile-time checking.

What is System F in type theory and programming language research?

System F is the polymorphic lambda calculus, a foundational calculus for advanced type systems. It features universal types and type abstraction, enabling generic programming and serving as a basis for researching type theory foundations.

How do I build generic data structures that ensure type safety at compile time?

To build generic data structures ensuring compile-time type safety, use polymorphic type systems with universal quantification. You can implement a generic list holding any type by applying type abstraction and type application mechanisms.

Does System F support capture-avoiding substitution for type variables?

Yes, System F supports capture-avoiding substitution for type variables. This mechanism ensures that free variables are not accidentally bound during beta reduction or type application, preserving the correctness of the calculus.

What are the best ways to research type theory foundations using polymorphic type systems?

To research type theory foundations, use System F to model universal types and polymorphic constructs. It satisfies the requirements for type safety, including the formal proofs of progress and preservation theorems.

Can I use System F to verify progress and preservation theorems in my type system?

Yes, System F is designed to satisfy requirements for type safety, including progress and preservation theorems. You can use it to formally verify that your polymorphic constructs maintain type safety during evaluation.