Have you been writing software for a while and now want to go deeper into the philosophy and mechanics of programming languages? Have you been hearing about things like automated theorem proving, hybrid type checking, gradual types, and wondering whether you'll be finding them soon in mainstream programming languages? Are you interested out-of-the-mainstream programming language paradigms like logic programming? Have you heard mathematical-sounding terms like lambda calculus and pi calculus, and wondering whether understanding them will make you a better programmer? If so, welcome.
We're focused less on spreading the gospel of functional programming (although we assume you know something about it) than on figuring out what makes programming languages of any paradigm expressive and reliable. And we try to take a more concrete approach than category theory's high-level overview of programming language structures, coming up with code we can execute and tools we can use.
We're continuing our quest to figure out just how workable dependently typed programming languages are put together. In particular, we're still wrestling with the big question from our meeting of the 26th of July: is there a formalism that supports typical ambiguity but also plays nice with modularity? If so, how does it work?
We'll post the Zoom meeting ID on this page by 6:00 pm on the day of the meeting.
As always, if you have questions, post them on the meeting page and we'll try to help you out.