An accessible podcast about Type Theory, Programming Languages Research and
related topics.
The podcast Type Theory Forall is created by Pedro Abreu. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
In 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.com/typetheoryforall
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
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/typetheoryforall
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 doing some cool functional programming and formal methods. Before that we were pals doing an internship at Galois, and even before that he finished his masters with Benjamin Delaware at Purdue, Patrick’s current advisor. Patrick has just returned from his internship at AWS in the automated reasoning team. So in this episode we talk about their research, their academic and industry experiences, how’s the industry looking like for opportunities in PL and all that.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
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 calculi that model distributed systems, their type systems, their Curry-Howard correspondences, and all the main ideas around these concepts.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
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 works at Groq, applying FP to design silicon for machine learning. In this episode we talk about the value of specification, the current state of academia, gaming the metrics, functional programming in hardware, bullying, among other things.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
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 tirelessly in designing, developing, supporting and auditing all kinds of voting systems for different private parties and government parties.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
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 Little Typer together with Dan Friedman, and we get more technical by talking about Equality, Bidirectional Type Checking, Quotation and Quasi Quotation.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
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 about Functional Programming Writing and Dependent Types, and we still wouldn’t run out of topics!
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
In this episode we talk with Guannan Wei, from Purdue University. Guannan finished his PhD last year under Tiark Rompf, and is currently doing his Post-Doc with Tiark. Guannan has worked on a plethora of different compilers topics, and in this conversation we will talk about Staging, Futamura Projections, Symbolic Execution, Compiler Applications in Smart Contracts and Quantum Programming. Towards the end of the episode we also talk about his application experiences for the position of a Professorship in the US an a few other contries.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
In this episode we celebrate 3 years of existence of this podcast by reflecting on the journey so far, what is my philosophy, how do I approach the interviews, my overall goals for the show, and some of our plans for the future.
In order to achieve this, I first take a detour and tell you a little more about my personal history, and my carreer in type theory and programming languages.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
In this episode we talk with Eduardo Rafael. He is self-thaught programming languages enthusiast, youtuber, twitch streamer, multi-skilled programmer that has worked in different aspects of computer science such as PL, operating systems, blockchain, and many other stuff. In this conversation we talk about his experience as a developer and hacker that didn’t follow the conventional paths of going to school and what are the strategies to navigate the vast ocean of knowledge without guidance of teachers or institutions.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
Andrew Marmaduke is a PhD Candidate from the University of Iowa, he works under Aaron Stump and has been working on revamping the theorem prover Cedille 2. In this episode we tackle fundamental questions about the foundations of the theorem provers, Cedille and Cedille 2.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
Not satisfied with implementing one of the most popular automated theorem provers, Z3, Leo de Moura also tackles another extremely hard problem in our field and implements a brand new interactive theorem prover from scratch, Lean. In this episode we dive into the mind and philosophy of this man.
If you enjoy the show please consider supporting us at our ko-fi: https://ko-fi.com/typetheoryforall
In this episode we continue our conversation with Jan de Muijnck-Hughes a Research Associate at Glasgow University. He works using all sorts of fancy type systems mostly targeted for hardware specification, particularly with the aid of the theorem prover Idris. This episode we start by talking a little about Impostor Syndrome in academia and how he has learned to cope with it and then we dive deeper into the technicalities of his research, in particular his philosophy on Type Directed Design of Systems. We talk about Session Types, Graded Types, Quantitative types, etc.
Don't forget to join our new discord channel!
If you like our show please consider donating any amount at ko-fi.
In this episode we have a deep conversation with Jan de Muijnck-Hughes, talks about all the cool research he has done with idris, hardware and different kinds of interesting type systems such as session types, quantitative types and graded types. In the second half we discuss all the different kinds of problems that has been going on in PL academia lately and what we can do as a community to address those issues.
Also, we have a discord channel now, join us!
If you like our show please consider donating any amount at ko-fi.
Errata:
In this episode we have over Dan Plyukhin, a PhD Candidate from the University of Illinois Urbana-Champaign.
We talk about Dan’s research is in the field of parallelism, more specifically 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 to take 10 months off from his PhD to be with his family back in Brazil.
Jimmy Koppel, got his PhD at MIT and found the Mirdin Company, where he teaches engineers to write better code! In this interview we talk about how to make better code, how the knowledge of computer science theory and programming languages can help engineers to achieve that, and much more!
In this episode we host another company that does formal method in the context 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?
In this episode talk with Gerwin Klein about the formal verification of the microkernel seL4 which was done using Isabelle at NICTA / Data61 in Australia. We also talk a little about his PhD Project veryfing a piece of the Java Virtual Machine.
Kevin Buzzard has been very passionate spreading the word among mathematicians to use theorem provers mechanize theorems of modern mathematics. In this conversation we will talk about his vision in teaching undergrads to use the Lean theorem prover, what is the Xena Project, his view of how theorem provers can change the way we do mathematics, and much more!
In this episode we partner with Formal Land, a company that works in formally verifying the Tezos codebase! I have worked with them in the past developing new features to their source-to-source compiler CoqOfOcaml. In this episode we talk about their work with Tezos and how their techniques are applicable to other codebases as well! For this we talk with Formal Land founder Guillaume Claret and the proof engineers Daniel Hilst and Pierre Vial.
In this episode we interview Lawrence Paulson, one of the creating fathers of Isabelle.
We talk about the development process, how it drew inspirations and ideas from LCF and Boyer Moore. What tools were used, it’s strenghts and weaknesses, and all about the historical context at the time! We also briefly talk about his formalization of the Gödel's Incompletenes theorems in Isabelle
Paulson have quite an extensive CV, he is a professor at Cambridge, have published more than 100 papers, is an ACM fellow since 2008, is a member of the royal society since 2017, among many other things!
In this episode we talk about Sigplan, the organization behind the most important conferences and proceedings in our field. What is the SIGPLAN? What exactly does it do? How is it organized? How are things published? To answer these and many other questions we talk with Jens Palsberg, a professor at UCLA, who is the past chair of the SIGPLAN. And also Jonathan Aldrich, a professor at the CMU, who is a member of the ACM publication board.
In this episode Cody Roux teaches some interesting concepts that people care about in Mathematics and Logic as a way to try to understand what is going on in the universe around us! In particular we will try to explain concepts such as Impredicativity, Excluded Middle, Group Theory, Model Theory, Kripke Models, Realizability, The Markov Principle, Cut Elimination, and other stuff!
In this episode Conal Elliott gives a more concrete presentation on what is Denotational Design is and how to use it in practice. It is a continuation of episode #17, in which we had an in-depth philosophical conversation to explain why he believes that Denotational Design is a superior form of reasoning in the realm of computer science.
We also continue a discussion raised by Dan Ghica on the last episode on the need for Operational Semantics and the role of elegance in reasoning and design.
Along the way we also address the questions sent by the listeners in these last episodes.
"A theory appears beautiful or elegant [...] when it’s simple; in other words when it can be expressed very concisely in terms of mathematics that we’ve already learned for some other reasons." - Murray Gell-Mann, Beauty and Elegance in Physics.
"In Galileo’s time, professors of philosophy and theology—the subjects were inseparable—produced grand discourses on the nature of reality, the structure of the universe, and the way the world works, all based on sophisticated metaphysical arguments. Meanwhile, Galileo measured how fast balls roll down inclined planes. How mundane! But the learned discourses, while grand, were vague. Galileo’s investigations were clear and precise. The old metaphysics never progressed, while Galileo’s work bore abundant, and at length spectacular, fruit. Galileo too cared about the big questions, but he realized that getting genuine answers requires patience and humility before the facts." - Frank Wilczek, (The Lightness of Being: Mass, Ether, and the Unification of Forces)
"We must make here a clear distinction between belief and faith, because, in general practice, belief has come to mean a state of mind which is almost the opposite of faith. Belief, as I use the word here, is the insistence that the truth is what one would ‘lief’ or wish it to be. The believer will open his mind to the truth on the condition that it fits in with his preconceived ideas and wishes. Faith, on the other hand, is an unreserved opening of the mind to the truth, whatever it may turn out to be. Faith has no preconceptions; it is a plunge into the unknown. Belief clings, but faith lets go. In this sense of the word, faith is the essential virtue of science, and likewise of any religion that is not self-deception." - Alan Watts (The Wisdom of Insecurity: A Message for an Age of Anxiety)
In this episode, me and Eric Bond have a great conversation with Dan R. Ghica, a professor at Birmingham University and Director of the Programming Language Research Lab of the Huaweii Research Centre Edinburgh. We talk about his work on both institutions, which includes topics such as Category Theory, String Diagrams, and Game Semantics. We also briefly discuss the current publication process of our field and entertain some thoughts on how to make it better. Finally, we touch on more personal topics such as his views about Elegance, making an insightful counterpoint to Conal’s opinions on Denotational Semantics vs. Operational Semantics.
In today’s episode I invite two friends of mine Patrick Lafontaine and Supun Abeysinghe. We will talk about their experience learning Coq and we guide ourselves in a survey that I gave all the 83 students in the class. The class was thought by my advisor Benjamin Delaware and I was his TA.
Patrick researches compilers and have done work in particular with Rust. And Supun works more along the lines of machine learning in the context of systems.
In this episode Cody Roux talks about the Gödel's Incompleteness Theorems. We go through it’s underlying historical context, Hilbert’s Program, how it relates with Turing, Church, Von Neumann, Termination and more.
In this episode I had the pleasure to have an in-depth conversation with Conal Elliott about his life, his work, his philosophy and his many opinions about research and the current state of PL Research and how it lead him to come with the concept of Denotational Design. Conal got his PhD at CMU in the 90s under Frank Pfenning working on Higher-Order Unification, after that he has devoted his life on thinking and refining graphic computation and the tools behind it.
In this episode we interview Jesper Cockx, one of the core developers on Agda. We talk about the philosophy behind Agda, his work on pattern matching, the Uniqueness of Identity of Proofs, UIP for short, and why it is inconsistent with Homotopy Type Theory.
In this episode me, Eric and Nitin continues our conversation started in the last episode. This time we move our attention to the cool projects happening in Coq, in particular commenting through the projects mentioned in Andrew Appel’s keynote “Coq’s Vibrant Ecosystem for verification engineering” that took place in CPP’22 which is colocated with POPL and towards the end we also talk about agda, idris and Kind.
In this episode I gather with two good friends Eric and Nitin to randomly talk random subjects that pops up. Among them we talked about POPL, Scala, Isabelle, Parametricity, Dependent Object Types (DOT, for short) and more!
This episode is about the journey of a programmer that converted himself into a Haskell developer after working with C/C++ for more than 10years.
Here are a few questions that you'll find the answer to in this episode:
Talia Ringer is an Assistant Professor at University of Illinois Urbana-Champaign. She did her PhD at University of Washington with her thesis on Proof Repair.
She’s very active on twitter @taliaringer. And in this episode we will talk about her transition from PhD to Professor, her work on diversity, her ADHD and how it has affected her career so far, and we also touch on the delicate topic of sexism in academia.
In this episode we have talk with Alejandro Serrano Mena, he works on 47 degrees and is a published author of two books about Haskell: The Book of Monads and Practical Haskell.
We talk about many interesting features behind functional programming such as adts, pattern matching, impredicativity, monads, effects, hacking the ghc and how all this comes together to grab industry attention to adopt functional programming features over the past decade.
In this episode we host a discussion between Anupam Das and Thorsten Altenkirch on the role of constructivism in mathematics, logic and computer science.
Anupam is a lecturer in the University of Birmingham in the UK, and Thorsten Altenkirch is a CS Professor at the University of Nottingham.
We discuss why constructive content in proofs matters, the law of excluded middle, the axiom of choice, category theory, and much more!
In this episode I have a nice conversation with Chris Jenkins to talk about the Cedille theorem prover, based on a very concise type theory called CDLE. The main selling point of Cedille is that the theory is so small that the typing rules fit one page. And yet it is strong enough to do relevant theorem proving. This is probably the most technical episode so far.
In this episode we dive into Isabelle, the interactive theorem prover based on Higher Order Logic directly from someone who spent quite some time hacking on its internals.
Me and Daniel also talk about Mizar, Isar, the seL4, and how it is formalized.
Torwards the end of the episode we also talk a little about his current work on the binary analysis of Aarch32 Arm Archtecture at Galois.
In this episode we interview Zeina Migeed, a PhD Student at University of California Los Angeles, advised by Prof. Jens Palsberg
She Researches Gradual Types and had a paper published at POPL'20 named "What is Decidable about Gradual Types". here is a link to it
As the name of the episode suggests, I'll be asking her all the dumb questions related to not only gradual types, but also intersection types and recursive types as well!
In this episode we interview Yves Bertot and we talk about the history behind his contribution with Pierre Castéran on writing Coq’Art. What is Yves’ role in the Coq Team, how the team works and what are the sort of contributions they accept.
Links:
Yves email: [email protected]
Affichage et manipulation interactive de formules mathématiques dans les documents structurés - Check figure 15 for an example on how Yves’ tools would build trees internally
A video showing his tool in practice, doing proofs with mouse clicks
A Genereic Approach to Building User Interfaces for Theorem Provers
In this episode we host Eric Bond to go through some real cool projects happening in the PL World and some of the companies behind them.
We discuss some technical differences between the major interactive theorem provers out there, some of their most popular projects, and a few companies that work in the realm.
Eric Bond works at 47 degrees, a consulting company on Functional Programming Languages, specially on Scala and Haskell. You can find Eric @ericbond10 on Twitter.
During the episode we mention PL Talks and the Midlands Graduate School in the Foundations of Computing Science 2021.
In this episode we host Dan Zheng, an alumni of Purdue University that now works at Google at real cool projects that relates ML and PL.
We chat about how was his transition from undergrad to such a huge company like Google. We talk about cool languages such as Lantern, LLVM, LMS, Julia, Rust, Racket, Scala. How does ML and PL can be used to enhance each other. And towards the end we shift our attention to mental health, both in the academia and in the industry.
You can find Dan at twitter @dancherp
In this episode we host Rajan Walia and John Sarracino. Rajan is a last year PhD Student from Indiana University, working under Sam Tobin-Hochstadt. And John is a Postdoc working with Greg Morriset at Cornell University.
We talk about Grad School life, how academia life looks like, pressure to publish, work-life balance, industry vs academia, and much more!
Here you can find John’s Website. http://goto.ucsd.edu/~john/
And here is Matt Might’s website mentioned in the episode. http://matt.might.net/#blog
In this episode we host Prof. Benjamin Delaware from Purdue University to discuss and try to answer some basic questions related to PL research:
What is PL research?
Why does it matter?
Why is it cool?
What is Lambda Calculus?
What is Type Theory?
Church-Turing Thesis?
Curry-Howard Correspondence?
What are proof assistants? Why are they cool?
Don’t forget to follow Ben on twitter @GhostofBendy
Who is Pedro Abreu?
What is the goal of this Podcast?
What are My Research Interests?
In this episode I share about my internship experiences at Nicta (data61 now), Sifive, Galois and Nomadic Labs.
Welcome!
Don’t forget to checkout Galois’ new podcast hosted by Joey Dodds and Shpat Morina. Click Here
En liten tjänst av I'm With Friends. Finns även på engelska.