From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/5422 Path: news.gmane.org!not-for-mail From: Thorsten Altenkirch Newsgroups: gmane.science.mathematics.categories Subject: Re: additions Date: Wed, 23 Dec 2009 19:06:39 +0000 Message-ID: References: <85E4A5AE-3C86-450A-BFFC-4760E40B89F1@cs.bham.ac.uk> Reply-To: Thorsten Altenkirch NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1261773416 14968 80.91.229.12 (25 Dec 2009 20:36:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 25 Dec 2009 20:36:56 +0000 (UTC) To: Steve Vickers Original-X-From: categories@mta.ca Fri Dec 25 21:36:49 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 1NOGu1-0003tO-1t for gsmc-categories@m.gmane.org; Fri, 25 Dec 2009 21:36:49 +0100 Original-Received: from Majordom by mailserv.mta.ca with local (Exim 4.61) (envelope-from ) id 1NOGNz-0002YM-4N for categories-list@mta.ca; Fri, 25 Dec 2009 16:03:43 -0400 In-Reply-To: <85E4A5AE-3C86-450A-BFFC-4760E40B89F1@cs.bham.ac.uk> Original-Sender: categories@mta.ca Precedence: bulk Xref: news.gmane.org gmane.science.mathematics.categories:5422 Archived-At: Hi Steve & Mike, I completely agree with Steve, I'd like to add that instead of =20 functional programming we could have said "mathematically structured =20 programming". But then indeed the two terms are very closely related. Category Theory helps us to structure abstractions. In Computer =20 Science and in other areas (e.g. Physics). Some people seem to think =20 that abstractions don't buy your anything concrete. E.g. they don't =20 deliver faster algorithms or new physical theories. These people often =20= overlook that everything they do relies essentially on abstractions =20 which have been established a while ago. Hence, while it is hard to measure the impact of abstractions exactly, =20= IMHO it is almost impossible to underestimate their value. Cheers, Thorsten On 23 Dec 2009, at 11:19, Steve Vickers wrote: > 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 =20 > is that it has long been more or less self-evident that categories =20 > are just what you need for describing the semantics, and the =20 > categorical experience of the semanticists led to the practical =20 > application of 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 =20 > the Compujting Department, and I exploited heavily the fact that =20 > they had all done Miranda, a predecessor of Haskell.) > > Regards, > > Steve Vickers. > [For admin and other information see: http://www.mta.ca/~cat-dist/ ]