Skip to content
0:00 / 0:00

#adjointfunctionalprogramming#lineartypes#substructuraltypes

OPLSS'24: Frank Pfenning [1/5]

OPLSS@BU

150 subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Frank Pfenning, Carnegie Mellon University

Advanced. Deep dive for people who know the field.

1.2K views2 years ago1 recommendation

Programming languagesComputer scienceFunctional programmingComputation and complexity

Frank Pfenning introduces adjoint functional programming, exploring types, semantics, and substructural logic systems.

Oregon Programming Languages Summer School at Boston University (OPLSS@BU) Types, Semantics, and Applications June 3-13, 2024 cs.uoregon.edu/research/summerschool/summer24 Topic: Adjoint Functional Programming Lecturer: Frank Pfenning (Carnegie Mellon University) Originally presented June 3, 2024. OPLSS@BU is a production of the Department of Computer Science at Boston University in conjunction with the Department of Computer and Information Science at the University of Oregon bu.edu/cs/ cs.uoregon.edu/ Copyright © 2024 by Boston University This work is published under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International license. See is.gd/0WxWNM

Why it's here

1 person recommends this

What people say. Recommended as a deep dive into linear and substructural type systems and their theoretical foundations.

u/Ro5bertin r/ProgrammingLanguages • Recommends

On “Benefits of linear types over affine types?”

I think you should view implicit drops in Rust as a usage of the value, so Rust really has linearity in spirit. I could be wrong about this, but I think the real reason it's said that Rust has affinity and not linearity is because it's possible to leak values in safe Rust. (I'm not an expert on Rust, so I don't know the details, but I've heard this is true.) Thus, most of the advantages of affinity that you list are actually advantages of linearity. Linear types can coexist with other types, and a number of type systems of this nature have been designed, but it's an area of active research. A recent interesting example is Adjoint Natural Deduction, which Frank Pfenning recently presented on…

u/Ro5bertin r/ProgrammingLanguages • Recommends

On “Benefits of linear types over affine types?”

I think you should view implicit drops in Rust as a usage of the value, so Rust really has linearity in spirit. I could be wrong about this, but I think the real reason it's said that Rust has affinity and not linearity is because it's possible to leak values in safe Rust. (I'm not an expert on Rust, so I don't know the details, but I've heard this is true.) Thus, most of the advantages of affinity that you list are actually advantages of linearity. Linear types can coexist with other types, and a number of type systems of this nature have been designed, but it's an area of active research. A recent interesting example is Adjoint Natural Deduction, which Frank Pfenning recently presented on…