An accessible podcast about Type Theory, Programming Languages Research and related topics.
…
continue reading
Aaron Stump talks about type theory, computational logic, and related topics in Computer Science on his short commute.
…
continue reading

1
#53 RustBelt, Iris, and the Art of Writing - Derek Dreyer
2:25:22
2:25:22
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:25:22Derek Dreyer is a professor at the Max Planck Institute, in 2024 he was awarded the ACM Fellowship, in 2017 he got the ACM Sigplan Robin Milner Young Researcher Award. And has participated or lead greatly influential work, such as the RustBelt Project and Iris. In this episode Derek shares his experience going to Grad School at CMU, how even a grea…
…
continue reading

1
Schematic Affine Recursion, Oh My!
18:49
18:49
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
18:49To solve the problem raised in the last episode, I propose schematic affine recursion. We saw that affine lambda calculus (where lambda-bound variables are used at most once) plus structural recursion does not enforce termination, even if you restrict the recursor so that the function to be iterated is closed when you reduce ("closed at reduction")…
…
continue reading

1
The Stunner: Linear System T is Diverging!
21:03
21:03
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
21:03In this episode, I shoot down last episode's proposal -- at least in the version I discussed -- based on an amazing observation from an astonishing paper, "Gödel’s system T revisited", by Alves, Fernández, Florido, and Mackie. Linear System T is diverging, as they reveal through a short but clever example. It is even diverging if one requires that …
…
continue reading

1
Terminating Computation First?
11:27
11:27
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
11:27In this episode, I discuss an intriguing idea proposed by Victor Taelin, to base a logically sound type theory on an untyped but terminating language, upon which one may then erect as exotic a type system as one wishes. By enforcing termination already for the untyped language, we no longer have to make the type system do the heavy work of enforcin…
…
continue reading

1
#52 Why is Haskell so special - Lennart Augustsson
1:30:31
1:30:31
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:30:31Lennart Augustsson has spent the last four decades quietly — and sometimes mischievously — shaping the way we think about code. He co-authored Lazy ML in the early 80s, wrote A Compiler for LML back in 1984, and was behind HBC, the first publicly available Haskell compiler. If you've used Haskell, worked with hardware described in Bluespec, or play…
…
continue reading

1
#51 s/Coq/Rocq - Nicolas Tabareau
1:42:05
1:42:05
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:42:05In this episode we talk with Nicolas Tabareau, the Head of Gallinette, one of the main teams which develop the Rocq theorem Prover at Inria. The original idea of this interview is to talk about the rebranding from Coq into Rocq, which is very exciting to our community. However, Nicolas has such a prolific research career that I couldn’t miss the op…
…
continue reading

1
#50 The Expression Problem, Functional Pearls, Program Calculation - Wouter Swierstra
2:06:47
2:06:47
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:06:47Wouter Swierstra is a Math Bachelor’s from the University of Utrecht, has done his PhD with Thorsten Altenkirch at the University of Nottingham, did a post-doc at Chalmers, has experience in the industry working on facilitating the design of embedded system using FP and currently is a Professor at the University of Utrecht and co-host of the Haskel…
…
continue reading
I correct what I said in the last episode about the author of the proof of FD from last episode based on intersection types. I also describe AI flopping when I ask it a question about this.โดย Aaron Stump
…
continue reading

1
Krivine's Proof of FD, Using Intersection Types
21:35
21:35
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
21:35Krivine's book (Section 4.2) has a proof of the Finite Developments Theorem, based on intersection types. I discuss this proof in this episode.โดย Aaron Stump
…
continue reading

1
A Measure-Based Proof of Finite Developments
23:24
23:24
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
23:24I discuss the paper "A Direct Proof of the Finite Developments Theorem", by Roel de Vrijer. See also the write-up at my blog.โดย Aaron Stump
…
continue reading

1
Introduction to the Finite Developments Theorem
15:54
15:54
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
15:54The finite developments theorem in pure lambda calculus says that if you select as set of redexes in a lambda term and reduce only those and their residuals (redexes that can be traced back as existing in the original set), then this process will always terminate. In this episode, I discuss the theorem and why I got interested in it.…
…
continue reading

1
#49 Self-Education in PL - Ryan Brewer
2:23:47
2:23:47
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:23:47Ryan Brewer is a college dropout who has an incredible blog about PL, Category Theory and Logic. He better define his goal as making Formal Theory more accessible outside the ivory tower of academia, and easier to put into practice where it matters. He has a couple of very interesting main projects, such as the first Cedille 2 Interpreter, Saber VM…
…
continue reading
In this episode, I discuss the paper Nominal Techniques in Isabelle/HOL, by Christian Urban. This paper shows how to reason with terms modulo alpha-equivalence, using ideas from nominal logic. The basic idea is that instead of renamings, one works with permutations of names.โดย Aaron Stump
…
continue reading

1
#48 Bell Labs - David MacQueen
2:10:12
2:10:12
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:10:12In this episode we continue with our conversation with David MacQueen, he is an Emeritus Professor from the University of Chicago, and has worked at Bell Labs for 20 years. Bell Labs began as the research and development section of the American Telephone and Telegraph company, aka AT&T, which originally hold exclusive hold of the telephone patent. …
…
continue reading

1
#47 The History of LCF, ML and HOPE - David MacQueen
2:05:04
2:05:04
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:05:04David MacQueen has worked at Bell Labs for around 20 years during it’s Golden Age. Professor at Chicago University for 23 years. He is one of the designers of SML, one of the fathers of HOPE the programming language that introduced the notion of Algebraic Datatypes. So this interview was very special to me personally where I could get to hear all t…
…
continue reading

1
The Locally Nameless Representation
19:54
19:54
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
19:54I discuss what is called the locally nameless representation of syntax with binders, following the first couple of sections of the very nicely written paper "The Locally Nameless Representation," by Charguéraud. I complain due to the statement in the paper that "the theory of λ-calculus identifies terms that are α-equivalent," which is simply not t…
…
continue reading
I continue the discussion of POPLmark Reloaded , discussing the solutions proposed to the benchmark problem. The solutions are in the Beluga, Coq (recently renamed Rocq), and Agda provers.โดย Aaron Stump
…
continue reading
I discuss the paper POPLmark Reloaded: Mechanizing Proofs by Logical Relations, which proposes a benchmark problem for mechanizing Programming Language theory.โดย Aaron Stump
…
continue reading

1
#46 Realizability, BHK, CPS Translation, Dialectica - Pierre-Marie Pédrot
1:03:36
1:03:36
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:03:36In this episode Pierre-Marie Pédrot, one of the main Coq/Rocq developers joins us to talk about Krivine, Kleene and Gödel Realizability Models, how it relates to the BHK interpretation and CPS Translations, and how it was all already part of Gödel's work in Dialectica! If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.…
…
continue reading

1
Introduction to Formalizing Programming Languages Theory
12:20
12:20
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
12:20In this episode, I begin discussing the question and history of formalizing results in Programming Languages Theory using interactive theorem provers like Rocq (formerly Coq) and Agda.โดย Aaron Stump
…
continue reading

1
#45 What is Type Theory and What Properties we Should Care About - Pierre-Marie Pédrot
1:21:41
1:21:41
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:21:41In this episode Pierre-Marie Pédrot who is one of the main Coq/Rocq developers joins us to talk about what is Type Theory, what is Martin-Löf Type Theory, what are the properties we should care about in our type theory and why. If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall Links Pierre-Marie's …
…
continue reading

1
#44 Theorem Prover Foundations, Lean4Lean, Metamath - Mario Carneiro
2:13:31
2:13:31
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:13:31Mario Carneiro is the creator of Mathlib, Lean4Lean and Metamath0. He is currently doing his Postdoc at Chalmers University working on CakeML. In this episode we talk about foundations of theorem provers, type systems properties, semantics and interoperabilities. If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/ty…
…
continue reading

1
#43 PL in the Industry and Summer Schools - Patrick and Eric
1:01:30
1:01:30
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:01:30In this episode Eric Bond and Patrick Lafontaine joins us to talk about the life in industry vs the life in academia. Eric is a PhD student at Michigan University under Max New, he works with some pretty cool esoteric cubical agda stuff. Before starting his PhD he has spent some time at the consultancy companies Two Six Technologies and 47 Degrees …
…
continue reading

1
#42 Distributed Systems, Microservices, and Choreographies - Fabrizio Montesi
1:52:49
1:52:49
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:52:49In this episode we talk with Fabrizio Montesi, a Full Professor at the University of South Denmark. He is one of the creators of the Jolie Programming Language, President of the Microservices Community and Author of the book 'Introduction to Choreographies'. In today’s episode we talk about the formal side of Distributed Sytems, session types, the …
…
continue reading

1
#41 The Value of PL (and) Education - Satnam Singh
1:41:04
1:41:04
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:41:04Satnam Singh has got incredible experience in both academia and industry. He has worked in Google, Facebook, Microsoft, Microsoft Research, Xilinx, etc. He has been a lecturer in Glasgow, Birmingham and University of California for a couple of years. He has worked with many interesting tools such Coq, Haskell, Verilog, Tensorflow. These days he wor…
…
continue reading

1
#40 Secure Voting - Joe Kiniry
1:08:54
1:08:54
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:08:54In this episode we go into a deep dive into the formal methods side of Voting systems, and for this nobody better than our guest: Joe Kiniry, A Principal Scientist at Galois, Principled CEO and Chief Scientist of Free & Fair, a Galois spin-out focused on high-assurance elections technologies and services. For the past 20 years Joe has worked tirele…
…
continue reading

1
#39 Equality, Quotation, Bidirectional Type Checking - David Christiansen
1:49:42
1:49:42
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:49:42In this episode we continue our conversation with David Christiansen, he wrote the books Functional Programming in Lean and the Little Typer. He has also worked as the Executive Director of the Haskell Foundation, at Galois and did his PhD developing a bunch of cool stuff for Idris. In today’s episode we talk about the story behind writing The Litt…
…
continue reading

1
Turing's proof of normalization for STLC
17:39
17:39
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
17:39In this episode, I describe the first proof of normalization for STLC, written by Alan Turing in the 1940s. See this short note for Turing's original proof and some historical comments.โดย Aaron Stump
…
continue reading

1
#38 Haskell, Lean, Idris, and the Art of Writing - David Christiansen
1:55:58
1:55:58
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:55:58In this episode we talk with David Christiansen, he wrote the books Functional Programming in Lean and the Little Typer. He has also worked as the Executive Director of the Haskell Foundation, at Galois and did his PhD developing a bunch of cool stuff for Idris. David is a super upbeat person and I feel that we could spend hundreds of hours talking…
…
continue reading
In this episode, after a quick review of the preceding couple, I discuss the property of normalization for STLC, and talk a bit about proof methods. We will look at proofs in more detail in the coming episodes. Feel free to join the Telegram group for the podcast if you want to discuss anything (or just email me at [email protected]).…
…
continue reading
It is maybe not so well known that arithmetic operations -- at least some of them -- can be implemented in simply typed lambda calculus (STLC). Church-encoded numbers can be given the simple type (A -> A) -> A -> A, for any simple type A. If we abbreviate that type as Nat_A, then addition and multiplication can both be typed in STLC, at type Nat_A …
…
continue reading
Like addition and multiplication on Church-encoded numbers, exponentiation can be assigned a type in simply typed lambda calculus (STLC). But surprisingly, the type is non-uniform. If we abbreviate (A -> A) -> A -> A as Nat_A, then exponentiation, which is defined as \ x . \ y . y x, can be assigned type Nat_A -> Nat_(A -> A) -> Nat_A. The second a…
…
continue reading

1
More on basics of simple types
15:45
15:45
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
15:45I review the typing rules and some basic examples for STLC. I also remind listeners of the Curry-Howard isomorphism for STLC.โดย Aaron Stump
…
continue reading

1
Begin Chapter on Simple Type Theory
15:41
15:41
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
15:41In this episode, after a pretty long hiatus, I start a new chapter on simply typed lambda calculus. I present the typing rules and give some basic examples. Subsequent episodes will discuss various interesting nuances...โดย Aaron Stump
…
continue reading

1
#37 Compilers, Staging, Futamura Projections - Guannan Wei
1:53:20
1:53:20
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:53:20In this episode we talk with Guannan Wei, from Purdue University. Guannanfinished his PhD last year under Tiark Rompf, and is currently doing hisPost-Doc with Tiark. Guannan has worked on a plethora of differentcompilers topics, and in this conversation we will talk about Staging,Futamura Projections, Symbolic Execution, Compiler Applications in Sm…
…
continue reading

1
#36 Behind the Person Behind this Podcast - Pedro Abreu
1:49:55
1:49:55
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:49:55In this episode we celebrate 3 years of existence of this podcast byreflecting on the journey so far, what is my philosophy, how do Iapproach the interviews, my overall goals for the show, and some of our plansfor the future. In order to achieve this, I first take a detour and tell you a little moreabout my personal history, and my carreer in type …
…
continue reading

1
#35 Teika, Self-Education and F***ing Floating Points - Eduardo Rafael
1:21:29
1:21:29
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:21:29In this episode we talk with Eduardo Rafael. He isself-thaught programming languages enthusiast, youtuber, twitch streamer,multi-skilled programmer that has worked in different aspects of computerscience such as PL, operating systems, blockchain, and many other stuff. Inthis conversation we talk about his experience as a developer and hacker thatdi…
…
continue reading

1
#34 Foundations of Theorem Provers and Cedille2 - Andrew Marmaduke
1:28:27
1:28:27
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:28:27Andrew Marmaduke is a PhD Candidate from the University of Iowa, he worksunder Aaron Stump and has been working on revamping the theorem proverCedille 2. In this episode we tackle fundamental questions about thefoundations of the theorem provers, Cedille and Cedille 2. If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.…
…
continue reading

1
Some advanced examples in DCS
23:16
23:16
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
23:16This episode presents two somewhat more advanced examples in DCS. They are Harper's continuation-based regular-expression matcher, and Bird's quickmin, which finds the least natural number not in a given list of distinct natural numbers, in linear time. I explain these examples in detail and then discuss how they are implemented in DCS, which ensur…
…
continue reading

1
DCS compared to termination checkers for type theories
19:45
19:45
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
19:45In this episode, I continue introducing DCS by comparing it to termination checkers in constructive type theories like Coq, Agda, and Lean. I warmly invite ITTC listeners to experiment with the tool themselves. The repo is here.โดย Aaron Stump
…
continue reading
In this episode, I talk more about the DCS tool, and invite listeners to check it out and possibly contribute! The repo is here.โดย Aaron Stump
…
continue reading

1
#33 Z3 and Lean, the Spiritual Journey - Leo de Moura
2:05:07
2:05:07
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:05:07Not satisfied with implementing one of the most popular automated theoremprovers, Z3, Leo de Moura also tackles another extremely hard problem inour field and implements a brand new interactivetheorem prover from scratch, Lean. In this episode we dive into the mind andphilosophy of this man. If you enjoy the show please consider supporting us at ou…
…
continue reading
DCS is a new functional programming language I am designing and implementing with Stefan Monnier. DCS has a pure, terminating core, around which monads will be layered for possibly diverging, impure computation. In this episode, I talk about this basic design, and its rationale.โดย Aaron Stump
…
continue reading
I answer a listener's question about the semantics of subtyping, by discussing two different semantics: coercive subtyping and subsumptive subtyping. The terminology I found in this paper by Zhaohui Luo; see Section 4 of the paper for a comparison of the two kinds of subtyping. With coercive subtyping, we have subtyping axioms "A
…
continue reading

1
#32 TyDe Systems - Jan de Muijnck-Hughes
1:41:23
1:41:23
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
1:41:23In this episode we continue our conversation with Jan de Muijnck-Hughes aResearch Associate at Glasgow University. He works using all sorts of fancytype systems mostly targeted for hardware specification, particularly withthe aid of the theorem prover Idris. This episode we start by talking alittle about Impostor Syndrome in academia and how he has…
…
continue reading
I continue the discussion of Mitchell's paper Type Inference with Simple Subtypes. Coming soon: a discussion of semantics of subtyping.โดย Aaron Stump
…
continue reading

1
#31 Discussing Problems in PL and Academia - Jan de Muijnck-Hughes
2:09:59
2:09:59
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
2:09:59In this episode we have a deep conversation with Jan de Muijnck-Hughes, talksabout all the cool research he has done with idris, hardware and different kindsof interesting type systems such as session types, quantitative types and gradedtypes. In the second half we discuss all the different kinds of problems thathas been going on in PL academia lat…
…
continue reading
In this episode, I wax rhapsodic for the potential of subtyping to improve the practice of pure functional programming, in particular by allowing functional programmers to drop various irritating function calls that are needed just to make types work out. Examples are lifting functions with monad transformers, or even just the pure/return functions…
…
continue reading

1
Type inference with simple subtypes
13:27
13:27
เล่นในภายหลัง
เล่นในภายหลัง
ลิสต์
ถูกใจ
ที่ถูกใจแล้ว
13:27In this episode, I begin discussing a paper titled "Type Inference with Simple Subtypes," by John C. Mitchell. The paper presents algorithms for computing a type and set of subtype constraints for any term of the pure lambda calculus. I mostly focus here on how subtype constraints allow typing any term (which seems surprising). You can join the tel…
…
continue reading
In this episode, I discuss a few of the basics for what we expect from a subtyping relation on types: reflexivity, transitivity, and the variances for arrow types.โดย Aaron Stump
…
continue reading