Programming Languages

First-class functors

This is the homepage of the first-class functors project. Our goal is to support as many datatype-related functors as first-class objects as possible, as conveniently as possible. So far we managed to practically support regular functors and demonstrate type-soundness in the presence of higher-kinded functors.

Source code

The source code of a prototype library for first-class regular functors is available for free under the MIT license:

CREG: First-Class Regular Functors.

Email us questions.

Slides

Here are some slides of a talk at IFIP WG2.11 (Jan. 2015) by Klaus Ostermann
Head
Klaus Ostermann
.

Paper (POPL 2016): System F-omega with Equirecursive Types for Datatype-generic Programming

Technical report version with full proofs.

Slides of paper presentation.

Participating Team Members

Yufei Cai

Paolo Giarrusso

Klaus Ostermann

Publications

System F-Omega with Equirecursive Types for Datatype-Generic Programming

by Yufei Cai, Paolo G. Giarrusso, and Klaus Ostermann

In Proceedings of Symposium on Principles of Programming Languages (POPL 2016), pages 30–43, 2016.

Learn More

News

Presentation at POPL symposium

Yufei Cai
Alumni
Yufei Cai
presents the paper System Fω with Equirecursive Types for Datatype-generic Programming at the Symposium on Principles of Programming Languages in St. Petersburg, Florida. The paper is joint work with Paolo Giarrusso
Alumni
Paolo Giarrusso
and Klaus Ostermann
Head
Klaus Ostermann
.

Read more …

Preprint for POPL paper online

The preprint for our paper on equirecursive types in System Fω, with title “System Fω with Equirecursive Types for Datatype-generic Programming”, is now available online.

Read more …

Paper accepted at POPL

Our paper on equirecursive types in System Fω, with title “System Fω with Equirecursive Types for Datatype-generic Programming”, has been accepted for presentation at the annual Symposium on Principles of Programming Languages.

Read more …

Talk at Paris Diderot about functors

Yufei Cai
Alumni
Yufei Cai
gives an informal talk about the ongoing first-class functors project at PPS Lab, University Paris Diderot.

Read more …