categories - Category Theory list
 help / color / mirror / Atom feed
From: Steve Vickers <s.j.vickers@cs.bham.ac.uk>
To: Mike Stay <metaweta@gmail.com>
Subject: Re: additions
Date: Wed, 23 Dec 2009 11:19:04 +0000	[thread overview]
Message-ID: <85E4A5AE-3C86-450A-BFFC-4760E40B89F1@cs.bham.ac.uk> (raw)
In-Reply-To: <E1NNECG-0006CY-9s@mailserv.mta.ca>

Dear Mike,

Of course, in functional programming the applications of categories  
go far beyond lambda terms.

(1) At a fairly elementary level, the treatment of list types in  
functional programming languages gives a good lead in to universal  
properties (e.g. list type = free monoid or free (empty, cons)- 
algebra). Things you do with the universal properties are present as  
well known tools in functional programming with lists. The universal  
properties can then be used to motivate the abstract structure of  
categories: they describe data types by their external interfaces  
with the rest of the world rather than by their concrete internal  
structure, and the morphisms play the role of saying what the  
external interactions are. Expositionally, for Mac Lane universal  
properties were an important example where the working mathematician  
had been doing category theory all along without knowing it.

(2) More advanced, Haskell has made important use of monads as a  
programming technique for bringing side-effects, I/O etc into  
functional programming in an elegant way. (The way this came about is  
that it has long been more or less self-evident that categories are  
just what you need for describing the semantics, and the categorical  
experience of the semanticists led to the practical application of  
monads.)

So it could be that the best way forward is to teach them Haskell  
first. (I gave a short introduction to categories at Imperial, in the  
Compujting Department, and I exploited heavily the fact that they had  
all done Miranda, a predecessor of Haskell.)

Regards,

Steve Vickers.

On 22 Dec 2009, at 00:39, Mike Stay wrote:

> On Mon, Dec 21, 2009 at 12:43 AM, Joyal, André  
> <joyal.andre@uqam.ca> wrote:
>> In my message to John Baez, I wrote:
>>
>>> I can distinguish approximatly 6 major currents:
>>
>>> 5) Category theory and computer science
>
> I'm trying to expose my fellow programmers to the joys of category
> theory, but none of them have a math or physics background (or even a
> funcitonal programming background), which is where most of my
> experience with CT has been.
>
> What have been the major applications of category theory to computer
> science that have affected programmers?  Are there new algorithms?
> Are there really nice ways of solving certain problems?  The fact that
> data types with equivalence classes of lambda terms between them form
> a cartesian closed category doesn't seem to inspire them very much.
> -- 
> Mike Stay - metaweta@gmail.com
> http://math.ucr.edu/~mike
> http://reperiendi.wordpress.com


[For admin and other information see: http://www.mta.ca/~cat-dist/ ]


  reply	other threads:[~2009-12-23 11:19 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-17 23:30 A well kept secret? peasthope
2009-12-18  4:09 ` John Baez
2009-12-18 22:25   ` Ellis D. Cooper
2009-12-19 17:45     ` Ronnie Brown
2009-12-19 22:16     ` John Baez
2009-12-20 22:52       ` Greg Meredith
2009-12-21 15:46       ` Zinovy Diskin
2009-12-22 16:59         ` zoran skoda
2009-12-23  1:53       ` Tom Leinster
2009-12-23 14:15         ` Colin McLarty
2009-12-23 19:10       ` CatLab Joyal, André
2009-12-20 21:50     ` A well kept secret? jim stasheff
     [not found]     ` <d4da910b0912220859q3858b68am4e58749f21ce839d@mail.gmail.com>
2009-12-23  4:31       ` Zinovy Diskin
2009-12-23 14:35         ` Ronnie Brown
     [not found]     ` <4B322ACA.50202@btinternet.com>
2009-12-25 20:06       ` Zinovy Diskin
2009-12-20 17:50   ` Joyal, André
     [not found]     ` <B3C24EA955FF0C4EA14658997CD3E25E2159B6AA@CAHIER.gst.uqam.ca>
2009-12-21  8:43       ` additions Joyal, André
2009-12-21 14:16         ` additions Bob Coecke
2009-12-22  2:24           ` additions Joyal, André
2009-12-23 20:51             ` additions Thorsten Altenkirch
2009-12-24 23:55             ` additions Dusko Pavlovic
2009-12-26  2:14             ` additions Peter Selinger
     [not found]           ` <B3C24EA955FF0C4EA14658997CD3E25E370F5626@CAHIER.gst.uqam.ca>
     [not found]             ` <B3C24EA955FF0C4EA14658997CD3E25E370F5636@CAHIER.gst.uqam.ca>
     [not found]               ` <B3C24EA955FF0C4EA14658997CD3E25E370F5638@CAHIER.gst.uqam.ca>
2009-12-28 17:54                 ` quantum information and foundation Joyal, André
2009-12-29 12:13                   ` Urs Schreiber
2009-12-29 15:55                   ` zoran skoda
2009-12-22  0:39         ` additions Mike Stay
2009-12-23 11:19           ` Steve Vickers [this message]
2009-12-23 18:06             ` additions Mike Stay
2009-12-24 13:12               ` additions Carsten Führmann
2009-12-24 19:23               ` additions Dusko Pavlovic
2009-12-23 19:06             ` additions Thorsten Altenkirch
     [not found]         ` <Pine.LNX.4.64.0912211413340.15997@msr03.math.mcgill.ca>
     [not found]           ` <B3C24EA955FF0C4EA14658997CD3E25E2159B6B3@CAHIER.gst.uqam.ca>
2009-12-23 17:08             ` RE : categories: additions Joyal, André
2009-12-21 19:20   ` additions Michael Barr
2009-12-27 23:14   ` quantum information and foundation Dusko Pavlovic
     [not found]   ` <Pine.GSO.4.64.0912272037140.28761@merc3.comlab>
2009-12-28 16:38     ` Bob Coecke
     [not found]   ` <Pine.GSO.4.64.0912281630040.29390@merc4.comlab>
2009-12-28 18:17     ` Bob Coecke
2009-12-18 10:48 ` A well kept secret? KCHM
2009-12-19 20:55   ` Vaughan Pratt
2009-12-22 12:21 ` additions Mark Weber
2009-12-23  0:05   ` additions Scott Morrison
2009-12-23 14:13     ` additions Mark Weber
     [not found] ` <B3C24EA955FF0C4EA14658997CD3E25E2159B6B8@CAHIER.gst.uqam.ca>
2009-12-23 21:04   ` CatLab Urs Schreiber
     [not found] ` <4B3368C1.3000800@bath.ac.uk>
2009-12-24 16:25   ` additions Mike Stay
2009-12-26  0:03     ` additions Toby Bartels
     [not found]   ` <7f854b310912240825s39f195b2x2db16cc8f3a5cde7@mail.gmail.com>
2009-12-25  8:18     ` additions Carsten Führmann
     [not found] ` <4B347567.9070603@bath.ac.uk>
2009-12-29 23:17   ` additions Mike Stay
2009-12-30 21:00     ` additions Greg Meredith
2009-12-22  1:43 additions Fred E.J. Linton
2009-12-23  1:38 additions Fred E.J. Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=85E4A5AE-3C86-450A-BFFC-4760E40B89F1@cs.bham.ac.uk \
    --to=s.j.vickers@cs.bham.ac.uk \
    --cc=metaweta@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).