A taste of Curry

Curry is a programming language that integrates functional and logic programming. Last week, Denis Firsov and I had a look at Curry, and Thursday, I gave an introductory talk about Curry in the Theory Lunch. This blog post is mostly a write-up of my talk. Continue reading

MIU in Haskell

In the Theory Lunch of the last week, James Chapman talked about the MU puzzle from Douglas Hofstadter’s book Gödel, Escher, Bach. This puzzle is about a string rewriting system. James presented a Haskell program that computes derivations of strings. Inspired by this, I wrote my own implementation, with the goal of improving efficiency. This blog post presents this implementation. As usual, it is available as a literate Haskell file, which you can load into GHCi. Continue reading

The Constraint kind

A recent language extension of the Glasgow Haskell Compiler (GHC) is the Constraint kind. In this blog post, I will show some examples of how this new feature can be used. This is a write-up of my Theory Lunch talk from 7 February 2013. The source of this article is a literate Haskell file, which you can download and load into GHCi. Continue reading

Some interesting features of Haskell’s type system

One of the most important ingredients of Haskell is its type system. Standard Haskell already provides a lot of useful mechanisms for having things checked at compile time, and the language extensions provided by the Glasgow Haskell Compiler (GHC) improve heavily on this.

In this article, I will present several of Haskell’s type system features. Some of them belong to the standard, others are only available as extensions. This is a write-up of a talk I gave on 31 January 2013 during the Theory Lunch of the Institute of Cybernetics. This talk provided the basics for another Theory Lunch talk, which was about the Constraint kind. Continue reading

Three talks about ideal monads

Two months ago, we started the theory lunch meetings at the Institute of Cybernetics. In these meetings, we have lunch together and discuss all kinds of interesting things related to theoretical computer science. We also started the Theory Lunch blog, where an article is posted for every lunch session. I used three of the lunch meetings to talk about ideal monads, and published summaries of my talks in the following articles: Continue reading

New paper about a generalization of FRP and causality in categorical models

Yesterday I finished my new paper Temporal Logic with “Until”, Functional Reactive Programming with Processes, and Concrete Process Categories, which will appear in the proceedings of PLPV ’13 and is also available online. I have already given two talks on topics of this paper, one at the Joint Estonian–Latvian Theory Days at Medzābaki and another one at the Theory Seminar of the Institute of Cybernetics. Continue reading

Category theory crash course

I recently gave an introduction to category theory at the Institute of Cybernetics. This crash course introduced several of the basic categorical notions that are of interest from a computer science and logic perspective, while assuming no previous knowledge about category theory. Everything necessary to understand my upcoming talk about categorical models of modal logics was covered. Continue reading

New Foundations

It was around the beginning of my undergraduate studies when I became interested in foundations of mathematics in general and axiomatic set theory in particular. Shortly after, I started reading parts of Abraham Fraenkel’s brilliant book Einleitung in die Mengenlehre. I read the second edition of this book, which had originally been published in the 1920ies. In his book, Fraenkel first introduces set theory in a naïve way, then discusses certain paradoxes arising from the naïve treatment, and finally presents the axiomatic set theory developed by Ernst Zermelo and himself.

A few weeks ago, I stumbled across set theory again when Sergei Tupailo gave two talks at the Institute of Cybernetics on an alternative axiomatic set theory called New Foundations. The first talk was about a classical proof by Ernst Specker, the second one was about a contribution by Tupailo himself. Tupailo’s talks caused me to have a look at these “new foundations”, which were, in fact, completely new to me. In this blog post, I want to tell you a bit about this interesting topic. Continue reading