Simple Types for Polymorphic Functions

📅 2026-04-13
📈 Citations: 0
Influential: 0
📄 PDF

career value

152K/year
🤖 AI Summary
This work proposes a concise type system for combinatory logic that achieves expressive polymorphism without relying on explicit quantified types. The system assigns at most one type to each combinator, with polymorphism emerging dynamically during application and precisely capturing the structure of values. In contrast to Hindley-Milner typing, the approach supports a broader notion of polymorphism while avoiding complex type syntax. An efficient type inference algorithm is developed, preserving the formal simplicity of the system and providing a solid foundation for static program analysis.

Technology Category

Application Category

📝 Abstract
This paper introduces a simple type system for combinatory logic in which combinators have at most one type, whose polymorphism is revealed by application. The combinatory types exactly describe the structure of their values, which may be hidden by abstract types, such as list types and function types. Even without any quantified types, it supports polymorphism beyond that of the Hindley-Milner type system that underpins functional programming, and an effective type inference algorithm. Also, the simplicity of the formalism should make other static program analyses easier.
Problem

Research questions and friction points this paper is trying to address.

simple types
polymorphic functions
combinatory logic
type inference
Hindley-Milner
Innovation

Methods, ideas, or system contributions that make the work stand out.

combinatory logic
simple type system
polymorphism
type inference
Hindley-Milner