[Haskell-cafe] category theory as a design tool

Brett Giles brett.giles at ucalgary.ca
Thu Jun 23 01:57:23 CEST 2011

Hi Arnaud, you may want to look at 

This is a java tool which allows entity design using various cat theory constraints such as sum, product and pullbacks. 

Brett Giles
Sent from my iPhone

> Message: 14
> Date: Wed, 22 Jun 2011 14:06:21 -0500
> From: Gregg Reynolds <dev at mobileink.com>
> Subject: Re: [Haskell-cafe] Category theory as a design tool
> To: Arnaud Bailly <arnaud.oqube at gmail.com>
> Cc: Haskell Cafe <haskell-cafe at haskell.org>
> Message-ID: <BANLkTingApLo7ysYGgg1DUxbW5iK1kLmrQ at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> On Tue, Jun 21, 2011 at 11:30 PM, Arnaud Bailly <arnaud.oqube at gmail.com>
> wrote:
>> (2nd try, took my gloves off...)
>> Hello Caf?,
>> I have been fascinated by Cat. theory for quite a few years now, as
>> most people who get close to it I think.
>> I am a developer, working mostly in Java for my living and dabbling
>> with haskell and scala in my spare time and assuming the frustration
>> of having to live in an imperative word. More often than not, I find
>> myself trying to use constructs from FP in my code, mostly simple
>> closures and typical data types (eg. Maybe, Either...). I have read
>> with a lot of interest FPS (http://homepages.mcs.vuw.ac.nz/~tk/fps/)
>> which exposes  a number of OO patterns inspired by FP.
>> Are there works/thesis/books/articles/blogs that try to use Cat.
>> theory explicitly as a tool/language for designing software (not as an
>> underlying formalisation or semantics)? Is the question even
>> meaningful?
> You might try: Category Theory for Computing
> Science<http://www.cwru.edu/artsci/math/wells/pub/ctcs.html> (Barr
> and Wells)
> and Conceptual Mathematics: a first introduction to
> categories<http://books.google.com/books/about/Conceptual_mathematics.html?id=o1tHw4W5MZQC>
> (Lawvere)
> "Kinship and Mathematical Categories" (by Lawvere) is also interesting.
> -Gregg
>> Thanks in advance,
>> Arnaud
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110622/9f65e9e9/attachment-0001.htm>
> ------------------------------
> Message: 15
> Date: Wed, 22 Jun 2011 21:59:11 +0200
> From: Arnaud Bailly <arnaud.oqube at gmail.com>
> Subject: Re: [Haskell-cafe] Category theory as a design tool
> To: Gregg Reynolds <dev at mobileink.com>
> Cc: Haskell Cafe <haskell-cafe at haskell.org>
> Message-ID: <BANLkTikUtRA4=0QhLuQ6kZm6iJTC4wh0Mw at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> Hello Greg and Alexander,
> Thanks for your replies. Funnily, I happen to own the 3 books you mentionned
> :-) My interest in category theory is a long standing affair...
> Note that owning a book, having read (most of) it and knowing a theory (or
> at least its principles and main concepts) is really quite a different thing
> from being able to apply it. Although I am certainly able to understand the
> Yoneda lemma, I am certainly unable to recognize the opportunity of using
> that knowledge to derive some new knowledge about something else. And being
> able to define a topoi is very different from being able to construct one or
> infer one out of a given category. This is an actual limitation of myself of
> course.
> Alexander's advice about using diagrams and simple notations is something I
> often try to do and something which most of the times end in writing a bunch
> of functions and data types in Haskell... What I am really looking for is a
> more systematic way of thinking about systems (or system fragments, or
> components) in a categorical way, perhaps starting with a bunch of arrows in
> some abstract category with objects as components and trying to infer new
> objects out of categorical consturctions which are made possible by the
> current diagrams (eg. what would be a pullback in such a category ? What
> would be its meaning ? Does the question itself have a meaning ?).
> Maybe this is really foggy and on the verge to fall into "abstract
> nonsense"...
> Best regards,
> arnaud

More information about the Haskell-Cafe mailing list