Tag Archives: functor

Competitive programming in Haskell: sorting tree shapes

In my previous post I challenged you to solve this problem, which essentially asks how many distinct binary tree shapes are created when we take lists of numbers and build a tree from each by repeated binary search tree insertion. … Continue reading

Posted in competitive programming, haskell | Tagged , , , , , , , | 19 Comments

New Haskell Symposium paper on “twisted functors”

Satvik Chauhan, Piyush Kurur and I have a new paper which will appear at the 2016 Haskell Symposium in Japan: How to Twist Pointers without Breaking Them Although pointer manipulations are used as a primary motivating example, at heart the … Continue reading

Posted in haskell, writing | Tagged , , , , , , , , , | 6 Comments

Polynomial Functors Constrained by Regular Expressions

I’ve now finished revising the paper that Dan Piponi and I had accepted to MPC 2015; you can find a PDF here: Polynomial Functors Constrained by Regular Expressions Here’s the 2-minute version: certain operations or restrictions on functors can be … Continue reading

Posted in math, writing | Tagged , , , , , , | 6 Comments

Anafunctors

This is part four in a series of posts on avoiding the axiom of choice (part one, part two, part three). In my previous post, we considered the “Axiom of Protoequivalence”—that is, the statement that every fully faithful, essentially surjective … Continue reading

Posted in category theory, math, species | Tagged , , , , , , , , , , | 5 Comments

AC and equivalence of categories

This is part three in a series of posts on avoiding the axiom of choice (part one, part two). In my previous post, I explained one place where the axiom of choice often shows up in category theory, namely, when … Continue reading

Posted in category theory, math, species | Tagged , , , , , , , , , | 5 Comments

Unique isomorphism and generalized “the”

This is part two in a series of posts on avoiding the axiom of choice; you can read part one here. In category theory, one is typically interested in specifying objects only up to unique isomorphism. In fact, definitions which … Continue reading

Posted in category theory, math, species | Tagged , , , , , , , , | 8 Comments

Species definition clarification and exercises

[This is the fourth in a series of posts about combinatorial species. Previous posts: And now, back to your regularly scheduled combinatorial species; Decomposing data structures; Combinatorial species definition.] In my previous post I neglected to mention something quite crucial, … Continue reading

Posted in math, species | Tagged , , , | 3 Comments

Combinatorial species definition

Continuing from my previous post, recall that the goal of species is to have a unified theory of containers with labeled1 locations. So, how do we actually specify such things (leaving aside for the moment the question of how we … Continue reading

Posted in math, species | Tagged , , , , | 7 Comments

Themes on Streams, Part II

In a previous post I claimed that comonad structures on R -> a are in one-to-one correspondence with monoid structures on R. In this post and the next I’ll justify that claim. Characterizing comonads on R -> a Suppose we … Continue reading

Posted in haskell, math | Tagged , , , , | 2 Comments

Themes on Streams

> {-# LANGUAGE DeriveFunctor, FlexibleInstances #-} Recall that a stream is a countably infinite sequence of values: > data Stream a = a :> Stream a > deriving (Functor, Show) > > sHead (a :> _) = a > sTail … Continue reading

Posted in haskell, math | Tagged , , , , , | 3 Comments