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
Introduction to Formalizing Programming Languages Theory
12:20
12:20
나중에 재생
나중에 재생
리스트
좋아요
좋아요
12:20
In 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:41
In 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:31
Mario 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:30
In 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:49
In 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:04
Satnam 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
In 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:42
In 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
In 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:58
In 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 aaron.stump@gmail.com).…
…
continue reading
1
The curious case of exponentiation in simply typed lambda calculus
7:29
7:29
나중에 재생
나중에 재생
리스트
좋아요
좋아요
7:29
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
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
I 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
In 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:20
In 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:55
In 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:29
In 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:27
Andrew 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
This 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:45
In 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:07
Not 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
In 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:59
In 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
In 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
We begin a discussion of subtyping in functional programming. In this episode, I talk about how subtyping is a neglected feature in implemented functional programming languages (for example, not found in Haskell), and how it could be very useful for writing lighter, more elegant code. I also talk about how subtyping could help realize a new vision …
…
continue reading
In this episode we have over Dan Plyukhin, a PhD Candidate fromthe University of Illinois Urbana-Champaign. We talk about Dan’s research is in the field of parallelism, morespecifically garbage collection in the presence of actors. Then we also talk about Pedro's research on translating GADTs from OCaml to Coq,and the burnout process that lead him …
…
continue reading
1
Last episode discussing Observational Equality Now for Good
12:15
12:15
나중에 재생
나중에 재생
리스트
좋아요
좋아요
12:15
In this episode, I conclude my discussion of some (but hardly all!) points from Pujet and Tabareau's POPL 2022 paper, "Observational Equality -- Now for Good!". I talk a bit about the structure of the normalization proof in the paper, which uses induction recursion. See this paper by Peter Dybjer for more about that feature. Also, feel free to join…
…
continue reading
1
#29 Can PL theory make you a better software engineer? - Jimmy Koppel
1:24:19
1:24:19
나중에 재생
나중에 재생
리스트
좋아요
좋아요
1:24:19
Jimmy Koppel, got his PhD at MIT and found the Mirdin Company, where heteaches engineers to write better code! In this interview we talk about howto make better code, how the knowledge of computer science theory andprogramming languages can help engineers to achieve that, and much more! Links Jimmy's Personal Website Jimmy's Twitter Mirdin's Websit…
…
continue reading
I continue discussing the Puject and Tabareau paper, "Observational Equality -- Now for Good", in particular discussing more about how the equality type simplifies based on its index (which is the type of the terms being equated by the equality type), and how proofs of equalities can be used to cast terms from one type to another. Also, in exciting…
…
continue reading
In this episode, I introduce an important paper by Pujet and Tabareau, titled "Observational Equality: Now for Good", that develops earlier work of McBride, Swierstra, and Altenkirch (which I will cover in a later episode) on a new approach to making a type theory extensional. The idea is to have equality types reduce, within the theory, to stateme…
…
continue reading
I pause the chapter on extensionality in type theory to talk about something very exciting that I just learned about (though the project was completed Summer 2022): the so-called Liquid Tensor Experiment, to formalize a recent very difficult proof by a mathematician named Peter Scholze, in Lean. This is the first time in history, that I know of, wh…
…
continue reading
1
#28 Formally Verifying Smart Contracts - Pruvendo
1:10:40
1:10:40
나중에 재생
나중에 재생
리스트
좋아요
좋아요
1:10:40
In this episode we host another company that does formal method in thecontext of the Everscale Blockchain, and Solidity smart contracts.How and why they use formal methods in this context? Who are their clients?What are the caveats? Links Pruvendo's Website Pruvendo's Linkdin Pruvendo's Twitter저자 Pedro Abreu
…
continue reading
In this episode talk with Gerwin Klein about the formal verification of themicrokernel seL4 which was done using Isabelle atNICTA / Data61 in Australia. We also talk a little about his PhD Projectveryfing a piece of the Java Virtual Machine. Links Gerwin's Twitter Gerwin's Website ProofCraft's Website…
…
continue reading
In this episode, I discuss the basic distinguishing rule of Extensional Martin-Loef Type Theory, namely equality reflection. This rule says that propositional equality implies definitional equality. Algorithmically, it would imply that the type checker should do arbitrary proof search during type checking, to see if two expressions are definitional…
…
continue reading
This episode begins a new chapter on extensionality in type theory, where we seek to equate terms in different ways based on their types. The basic example is function extensionality, where we would like to equate functions from A to B if given equal inputs at type A, they produce equal outputs at type B. With this definition, quicksort and mergeso…
…
continue reading
1
#26 Mechanizing Modern Mathematics - Kevin Buzzard
2:15:31
2:15:31
나중에 재생
나중에 재생
리스트
좋아요
좋아요
2:15:31
Kevin Buzzard has been very passionate spreading the word amongmathematicians to use theorem provers mechanize theorems of modernmathematics. In this conversation we will talk about his vision in teachingundergrads to use the Lean theorem prover, what is the Xena Project, his viewof how theorem provers can change the way we do mathematics, and much…
…
continue reading
In this episode, I talk about two papers from the 3rd International Workshop on Formal Methods for Blockchains, 2021. Also, I am continuing my request for your small donations ($5 or $10 would be awesome) to pay my podcast-hosting fees at Buzzsprout. To donate, click here, and then under "Gift details" select "Search for additional options" and the…
…
continue reading
In this episode, I discuss this paper, "Mi-Cho-Coq, a Framework for Certifying Tezos Smart Contracts", by Bernardo et al. The paper gives a nice and very clear introduction to the Michelson language, and a formalization of it in Coq. This is used to prove a correctness property about a Multisig contract. I also kindly solicit your small donations (…
…
continue reading
1
#25 Formally Verifying the Tezos Codebase - Formal Land
1:01:32
1:01:32
나중에 재생
나중에 재생
리스트
좋아요
좋아요
1:01:32
In this episode we partner with Formal Land, a company that works in formallyverifying the Tezos codebase! I have worked with them in the past developingnew features to their source-to-source compiler CoqOfOcaml. In this episode wetalk about their work with Tezos and how their techniques are applicable toother codebases as well! For this we talk wi…
…
continue reading
1
Verification of Tezos smart contracts with K-Michelson
14:24
14:24
나중에 재생
나중에 재생
리스트
좋아요
좋아요
14:24
In this episode (proudly wearing my "I am not an expert" hat), I discuss efforts by Runtime Verification to verify the Dexter2 defi smart contract, using their K-Michelson tool, which provides an executable description of the operational semantics of the Michelson language used for smart contracts on the Tezos blockchain.…
…
continue reading
I start off a new chapter (seventeen!) of the podcast, to talk about formal methods for blockchain systems. In the next few episodes, we will look at some verification efforts related to the Tezos blockchain.저자 Aaron Stump
…
continue reading
In this episode we interview Lawrence Paulson, one of the creating fathers ofIsabelle. We talk about the development process, how it drew inspirations andideas from LCF and Boyer Moore. What tools were used, it’s strenghts andweaknesses, and all about the historical context at the time! We also brieflytalk about his formalization of the Gödel's Inc…
…
continue reading
1
#23 What is the SIGPLAN? - Jens Palsberg and Jonathan Aldrich
1:12:13
1:12:13
나중에 재생
나중에 재생
리스트
좋아요
좋아요
1:12:13
In this episode we talk about Sigplan, the organization behind the mostimportant conferences and proceedings in our field. What is the SIGPLAN? Whatexactly does it do? How is it organized? How are things published? To answerthese and many other questions we talk with Jens Palsberg, a professor atUCLA, who is the past chair of the SIGPLAN. And also …
…
continue reading