Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleApril 2024
Persimmon: Nested Family Polymorphism with Extensible Variant Types
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue OOPSLA1Article No.: 119, Pages 698–724https://doi.org/10.1145/3649836Many obstacles stand in the way of modular, extensible code. Some language constructs, such as pattern matching, are not easily extensible. Inherited code may not be type safe in the presence of extended types. The burden of setting up design patterns ...
Study of the subtyping machine of nominal subtyping with variance
Proceedings of the ACM on Programming Languages (PACMPL), Volume 5, Issue OOPSLAArticle No.: 137, Pages 1–27https://doi.org/10.1145/3485514This is a study of the computing power of the subtyping machine behind Kennedy and Pierce's nominal subtyping with variance. We depict the lattice of fragments of Kennedy and Pierce's type system and characterize their computing power in terms of regular,...
- research-articleJune 2020
The origins of Objective-C at PPI/Stepstone and its evolution at NeXT
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue HOPLArticle No.: 82, Pages 1–74https://doi.org/10.1145/3386332The roots of Objective-C began at ITT in the early 1980s in a research group led by Tom Love investigating improving programmer productivity by an order of magnitude, a concern motivated by the perceived "software crisis" articulated in the late 1960s. ...
- research-articleJune 2020
A history of the Groovy programming language
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue HOPLArticle No.: 76, Pages 1–53https://doi.org/10.1145/3386326This paper describes the history of the Groovy programming language. At the time of Groovy’s inception, Java was a dominant programming language with a wealth of useful libraries. Despite this, it was perceived by some to be evolving slowing and to have ...
Familia: unifying interfaces, type classes, and family polymorphism
Proceedings of the ACM on Programming Languages (PACMPL), Volume 1, Issue OOPSLAArticle No.: 70, Pages 1–31https://doi.org/10.1145/3133894Parametric polymorphism and inheritance are both important, extensively explored language mechanisms for providing code reuse and extensibility. But harmoniously integrating these apparently distinct mechanisms—and powerful recent forms of them, ...