From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/5407 Path: news.gmane.org!not-for-mail From: Steve Vickers Newsgroups: gmane.science.mathematics.categories Subject: Re: additions Date: Wed, 23 Dec 2009 11:19:04 +0000 Message-ID: <85E4A5AE-3C86-450A-BFFC-4760E40B89F1@cs.bham.ac.uk> References: Reply-To: Steve Vickers NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v753.1) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1261577604 31747 80.91.229.12 (23 Dec 2009 14:13:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 23 Dec 2009 14:13:24 +0000 (UTC) To: Mike Stay Original-X-From: categories@mta.ca Wed Dec 23 15:13:17 2009 Return-path: Envelope-to: gsmc-categories@m.gmane.org Original-Received: from mailserv.mta.ca ([138.73.1.1]) by lo.gmane.org with esmtp (Exim 4.50) id 1NNRxk-0008BC-KB for gsmc-categories@m.gmane.org; Wed, 23 Dec 2009 15:13:16 +0100 Original-Received: from Majordom by mailserv.mta.ca with local (Exim 4.61) (envelope-from ) id 1NNRTx-0003fc-H6 for categories-list@mta.ca; Wed, 23 Dec 2009 09:42:29 -0400 In-Reply-To: Original-Sender: categories@mta.ca Precedence: bulk Xref: news.gmane.org gmane.science.mathematics.categories:5407 Archived-At: Dear Mike, Of course, in functional programming the applications of categories =20 go far beyond lambda terms. (1) At a fairly elementary level, the treatment of list types in =20 functional programming languages gives a good lead in to universal =20 properties (e.g. list type =3D free monoid or free (empty, cons)-=20 algebra). Things you do with the universal properties are present as =20 well known tools in functional programming with lists. The universal =20 properties can then be used to motivate the abstract structure of =20 categories: they describe data types by their external interfaces =20 with the rest of the world rather than by their concrete internal =20 structure, and the morphisms play the role of saying what the =20 external interactions are. Expositionally, for Mac Lane universal =20 properties were an important example where the working mathematician =20 had been doing category theory all along without knowing it. (2) More advanced, Haskell has made important use of monads as a =20 programming technique for bringing side-effects, I/O etc into =20 functional programming in an elegant way. (The way this came about is =20= that it has long been more or less self-evident that categories are =20 just what you need for describing the semantics, and the categorical =20 experience of the semanticists led to the practical application of =20 monads.) So it could be that the best way forward is to teach them Haskell =20 first. (I gave a short introduction to categories at Imperial, in the =20= Compujting Department, and I exploited heavily the fact that they had =20= 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=E9 =20 > 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. > --=20 > 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/ ]