[Haskell-cafe] Re: Category Theory woes

2010-02-09 Thread L Spice
Mark Spezzano mark.spezzano at chariot.net.au writes:

 Does anyone know what Hom stands for?

'Hom' stands for 'homomorphism' --a way of changing (morphism)
between two structures while keeping some information the same (homo-).
Any algebra text will define morphisms aplenty --homomorphisms,
epimorphisms, monomorphisms, and the like.  These are maps on groups
that preserve group operations (or on rings that preserve ring operations,
etc.)

In a topology text, you will find information on what are called
continuous functions; they're morphisms too, in disguise.  You can find a
thinner disguise when you look at continuously invertible continuous
functions, which are called homeomorphisms.  If you proceed to differential
geometry, you'll see smooth maps --they're morphisms too, and the
invertible ones are called diffeomorphisms.

This-morphisms, that-morphisms --if you're trying to come up with a
general theory that describes all of them, it's natural just to call them
'morphisms'; but, as with the word 'colonel', the word and the symbol come to
us via different routes, so that 'Hom(omorphism)' survives instead as the
abbreviation.  The crucial point in learning category theory is the realisation
that, despite all the fancy terminology, it is at heart nothing but a way of
talking about groups, rings, topological spaces, partial orders, etc.
--all at once, so no wonder it seems abstract!

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Category Theory woes

2010-02-06 Thread Benjamin L. Russell
On Tue, 02 Feb 2010 09:16:03 -0800, Creighton Hogg wrote:

 2010/2/2 Álvaro García Pérez agar...@babel.ls.fi.upm.es
 
 You may try Pierce's Basic Category Theory for Computer Scientists or
 Awodey's Category Theory, whose style is rather introductory. Both of them
 (I think) have a chapter about functors where they explain the Hom functor
 and related topics.

 
 I think Awodey's book is pretty fantastic, actually, but I'd avoid Pierce.
  Unlike Types and Programming Languages, I think Basic Category
 Theory... is a bit eccentric in its presentation and doesn't help the
 reader build intuition.

I have written an overview of various category theory books, which you may find 
useful, at the following site:

Learning Haskell through Category Theory, and Adventuring in Category Land: 
Like Flatterland, Only About Categories
http://dekudekuplex.wordpress.com/2009/01/16/learning-haskell-through-category-theory-and-adventuring-in-category-land-like-flatterland-only-about-categories/

Hope this helps.

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
Furuike ya, kawazu tobikomu mizu no oto. -- Matsuo Basho^ 

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Category Theory woes

2010-02-06 Thread briand
On Sun, 07 Feb 2010 01:38:08 +0900
Benjamin L. Russell dekudekup...@yahoo.com wrote:

 On Tue, 02 Feb 2010 09:16:03 -0800, Creighton Hogg wrote:
 
  2010/2/2 Álvaro García Pérez agar...@babel.ls.fi.upm.es
  
  You may try Pierce's Basic Category Theory for Computer
  Scientists or Awodey's Category Theory, whose style is rather
  introductory. Both of them (I think) have a chapter about functors
  where they explain the Hom functor and related topics.
 
  
  I think Awodey's book is pretty fantastic, actually, but I'd avoid
  Pierce. Unlike Types and Programming Languages, I think Basic
  Category Theory... is a bit eccentric in its presentation and
  doesn't help the reader build intuition.
 
 I have written an overview of various category theory books, which
 you may find useful, at the following site:
 
 Learning Haskell through Category Theory, and Adventuring in Category
 Land: Like Flatterland, Only About Categories
 http://dekudekuplex.wordpress.com/2009/01/16/learning-haskell-through-category-theory-and-adventuring-in-category-land-like-flatterland-only-about-categories/
 
 Hope this helps.

It does.

Does anybody have any opinions on Pitt, Category Theory and Computer
Science ?


Brian
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Category Theory woes

2010-02-02 Thread Dominic Steinitz
Mark Spezzano mark.spezzano at chariot.net.au writes:

 
 Maybe there are books on Discrete maths or Algebra or Set Theory that deal
more with Hom Sets and Hom Functions?
 

Googling haskell category theory I got:

http://en.wikibooks.org/wiki/Haskell/Category_theory

http://www.haskell.org/haskellwiki/Category_theory

and many others. The latter has a list of books. Perhaps people could update
with books they are familiar with and add comments?

Dominic.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: category theory tutorial pdfs .....

2008-08-01 Thread Benjamin L . Russell
On Fri, 1 Aug 2008 00:52:41 -0500, Galchin, Vasili
[EMAIL PROTECTED] wrote:

Hello,

Prof. Harold Simmons' tutorial IMO are like a Russian matroshka doll ...
first layer is for newbie ... inner layers require more sophistication. IMO
a very subtle writer ... I have every book imaginable on cat theory and
topos theory so I think can compare a little.

   1) http://www.cs.man.ac.uk/~hsimmons/BOOKS/books.html  ... an earlier
version ... An Intro to Category Theory in Four Easy Movements ... this
version delves a little into Topos Theory ... pretty subtle .. cool

I have started reading _An introduction to category theory in four
easy movements_ (see
http://www.cs.man.ac.uk/~hsimmons/BOOKS/CatTheory.pdf).  The author's
style is very strange; in the first section, he states that he
highlights subsidiary notions to be defined later in small caps, and
even uses some of these in his exercises.  For example, he highlights
and uses preset and monoid as part of Exercise 1.1 before defining
them, so I then need to hunt around in the vicinity for definitions
(available several pages later).  However, the PDF file is not
text-searchable, so I need to hunt manually through the vicinity of
pages to find a definition.

This makes the book more interesting, at the expense of being harder
to use.  Do you know of a text-searchable version of this file?

He also has a rather peculiar sense of humor.  For instance, on page
6, he writes (regarding that in the original examples of categories,
the arrows were morphisms which were then called homomorphism, and it
wasn't realized that this family could be very large), 

 (Some out and out category theorists still don't realize the significance of 
 this.  
 On the other hand, some off the wall set theorists don't realize the 
 significance 
 of category theory.)

This reminds me of a lecture by David Gelernter in 1992 in a survey
course on cognitive science at Yale in which he said that some weak AI
cognitive scientists had said that other strong AI cognitive
scientists must have been out to lunch.

Again, if you know of a text-searchable version of this book, please
post the reference in this thread.

-- Benjamin L. Russell

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Category theory monad ---- Haskell monad

2005-08-23 Thread Jeremy Gibbons
On 14/08/05, Carl Marks id2359 at yahoo.com wrote:

 Is there any text/article which makes precise/rigorous/explicit
 the connection between the category theoretic definition of
 monad with the haskell implementation?

I did try to do this in my (rejected) paper A monadic
interpretation of tactics with Andrew Martin:

  http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/
publications/index.html#tactics

[That should be all on one line, but my newsreader won't let me
exceed 80 chars. :-( ]

If you ignore the stuff on tactics, you could view it as yet
another general introduction to monads.

Jeremy


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Category theory monad ---- Haskell monad

2005-08-22 Thread Chung-chieh Shan
Michael Vanier [EMAIL PROTECTED] wrote in article [EMAIL PROTECTED] in 
gmane.comp.lang.haskell.cafe:
 Basically, though, the Haskell implementation _is_ the category theoretic
 definition of monad, with bind/return used instead of (f)map/join/return as
 described below.

Doesn't the Haskell implementation really correspond to the notion of a
strong monad in category theory, once we take into account the fact that
free variables can occur anywhere in the arguments to bind and return?

-- 
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig
2005-09-08 International Literacy Day http://www.un.org/depts/dhl/literacy/
2005-09-21 International Day of Peace http://www.internationaldayofpeace.org/
2005-09-22 European Car-Free Day  http://www.22september.org/
2005-09-26 European Day of Languages  http://www.ecml.at/edl/

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Category theory monad ---- Haskell monad

2005-08-22 Thread Cale Gibbard
On 22/08/05, Chung-chieh Shan [EMAIL PROTECTED] wrote:
 Michael Vanier [EMAIL PROTECTED] wrote in article [EMAIL PROTECTED] in 
 gmane.comp.lang.haskell.cafe:
  Basically, though, the Haskell implementation _is_ the category theoretic
  definition of monad, with bind/return used instead of (f)map/join/return as
  described below.
 
 Doesn't the Haskell implementation really correspond to the notion of a
 strong monad in category theory, once we take into account the fact that
 free variables can occur anywhere in the arguments to bind and return?
 

Well, I had a look at the definition of strong monad. It seems that
for the obvious symmetric monoidal structure given by (,) any Haskell
monad admits the following strength, making it a strong monad:

strength :: (Monad m) = (a, m b) - m (a,b)
strength (x, xs) = xs = (\a - return (x,a))

It's less clear to me that any symmetric monoidal structure on the
category of Haskell types admits a strength for any Haskell monad.
It's also not so clear that it will always be unique. (This would be
fairly interesting)

Even if this is so, since Haskell monads don't come with a strength
pre-defined, I'd hesitate to call them strong in the same way that
I'd hesitate to call a metrisable topological space a metric space:
the information isn't attached to begin with.

 - Cale
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: category theory

1998-10-16 Thread David Glen JEFFERY

On 15-Oct-1998, Hans Aberg [EMAIL PROTECTED] wrote:
 At 17:25 +1000 98/10/15, David Glen JEFFERY wrote:
 Does something like this exist?  FWIW, I'm using Hugs 1.4
 
   I gather that "FWIW" is yet another SSMA; what does it mean?

For What It's Worth.  Okay... I'll bite. What's SSMA?

Anyhow, for those who are interested in my original question about a
non-aborting read, a colleague of mine provided this:


-- Author: Bernie Pope ([EMAIL PROTECTED])

module MyRead (myread) where

myread :: Read a = String - Maybe a
myread s = case [x | (x,t) - reads s, ("","") - lex t] of
 [x] - Just x
 []  - Nothing
 _   - Nothing


Also, Noel Winstanley mailed me directly and suggested that I use
unsafePerformIO and catch the exception: 

safe_read s = unsafePerformIO $ (map Just . readIO $ s) `catch`
(\_ - return Nothing)

That's also not a bad idea, but I think that "myread" above is simpler. 
Perhaps something like this should be added to the standard library.(?)


dgj
-- 
David Jeffery ([EMAIL PROTECTED]) |  Marge: Did you just call everyone "chicken"?
PhD student,|  Homer: N.  I swear on this Bible!
Department of Computer Science  |  Marge: That's not a Bible; that's a book of
University of Melbourne | carpet samples!
Australia   |  Homer: Ooooh... Fuzzy.





Re: category theory

1998-10-16 Thread Jerzy Karczmarczuk

Alan Wood:

...

 On another point ... I assume *someone* out there must have re-written the ML
 code from Rydeheard and Burstall's 'Computational Category Theroy' in Haskell -
 even if only partially. If you have, I'd welcome a copy of the code.
 
 Alan
 
 --
 Dr A.M. Wood email: [EMAIL PROTECTED]


Perhaps I missed some postings, but a reasonable starting point is
also the article by Erik Meijer and Luc Duponcheel on the categorical
prelude to Gofer:

http://www.cs.ruu.nl/people/luc/GlasgowFP94.ps


Jerzy Karczmarczuk
Caen, France.





Re: category theory

1998-10-15 Thread Frank Christoph

Having only recently learned to use Monads and appreciate their
utility, I am encountering new category-theoretic material in reading
about arrows in Jansson and Jeuring's Polytypic Compact Printing and
Parsing paper.  

It strikes me that I should just get the basics under my belt rather than
skipping ahead hear.  What is a good place to start learning the
basics of category theory, monads, and algebra (as in algebraic types not
high school math) for use in a programming context?  Books? Papers?
Websites? 

I encourage you to acquire some familiarity with a related field first, e.g.,
universal algebra, topology or even type theory or logic, since category
theory is very abstract stuff ("abstract nonsense" is a commonly cited
description; of course, some people insist that category theory is more like
the abstract nonsense _behind_ the abstract nonsense).  Algebraic topology in
particular _really_ puts category theory in perspective, as I learned
recently.

There are a number of papers on introductory category theory available from
the SEL-HPC archive:

http://hypatia.dcs.qmw.ac.uk/SEL-HPC/Articles/FuncArchive.html

(This archive is apparently now defunct in the sense that no new articles are
being added, but all the listed papers still have links.)

In particular:

Jonathan M. D. Hill, and Keith Clarke, "An introduction to category theory,
category theory monads, and their relationship to functional programming"
,Technical report QMW-DCS-681, Department of Computer Science, Queen Mary 
Westfield College, Aug 1994.

M.M. Fokkinga, "A Gentle Introduction to Category Theory --- the calculational
approach" Lecture Notes of the STOP 1992 Summerschool on Constructive
Algorithmics , University of Utrecht, 1992.

E. Meijer, M.M. Fokkinga, and R. Paterson, "Functional Programming with
Bananas, Lenses, Envelopes and Barbed Wire" In Functional Programming 
Computer Architecture, pages 124--144, Springer-Verlag, 1991.

Also see:

C. Barry Jay, "An Introduction to Categories in Computing"

which is available from

http://www-staff.socs.uts.edu.au:8080/~cbj/Publications/publications.html

The bibliography gives pointers to several books.  I recommend the book by
Barr and Wells, the one by Asperti and Longo, and the one by Crole.  BW is the
most abstract.  AL is probably the most practical.  Crole is somewhere in
between.  The standard texts for mathematicians are the ones by MacLane and
Borceaux.

There is also a new book by F. Lawvere and Stephen someone---I can't remember
the name of the co-author or the book; I think it is "Mathematical Foundations
of Category Theory" or something---which takes a very, very elementary and IMO
unorthodox approach.

Also of interest is:

Joseph Goguen, "A Categorical Manifesto", Mathematical Structures in Computer
Science, Volume 1, Number 1, March 1991, pages 49-67.

which can be gotten from

http://www.cs.ucsd.edu/users/goguen/pubs/

It tries to develop intuitions for specific categorical concepts like functors
and colimits by means of examples.  You need to be vaguely familiar with the
concepts before it will be useful.

-- 
Frank A. Christoph
[EMAIL PROTECTED]





Re: category theory

1998-10-15 Thread David Glen JEFFERY


On 14-Oct-1998, S. Alexander Jacobson [EMAIL PROTECTED] wrote:
 Having only recently learned to use Monads and appreciate their
 utility, I am encountering new category-theoretic material in reading
 about arrows in Jansson and Jeuring's Polytypic Compact Printing and
 Parsing paper.  
 
 It strikes me that I should just get the basics under my belt rather than
 skipping ahead hear.  What is a good place to start learning the
 basics of category theory, monads, and algebra (as in algebraic types not
 high school math) for use in a programming context?  Books? Papers?
 Websites? 

Try Benjamin Pierce's ``Basic category theory for computer scientists''.

Here's the entry from our library catalogue:

 AUTHOR   Pierce, Benjamin C.
 TITLEBasic category theory for computer scientists / Benjamin C. 
Pierce.
 PUBLISHEDCambridge, Mass. : MIT Press, c1991.
 PHYS DESCxiii, 100 p. ; 23 cm.
 SERIES   Foundations of computing.
 BIBLIOG. Includes bibliographical references (p. 81-91) and index.
 SUBJECT  Computer science -- Mathematics.
  Categories (Mathematics)
 ISBN 0262660717.

Hope that helps.

BTW... maybe someone can help me with this one... Is there a version of
"read" which returns a Maybe, rather than aborting if the string it is given
is syntactically incorrect? I'm looking for something like:

safe_read :: (Read a) = String - Maybe a

Does something like this exist?  FWIW, I'm using Hugs 1.4



dgj
-- 
David Jeffery ([EMAIL PROTECTED]) |  Marge: Did you just call everyone "chicken"?
PhD student,|  Homer: N.  I swear on this Bible!
Department of Computer Science  |  Marge: That's not a Bible; that's a book of
University of Melbourne | carpet samples!
Australia   |  Homer: Ooooh... Fuzzy.





Re: category theory

1998-10-15 Thread Torsten Grust

On October 14 (16:33 -0400), S. Alexander Jacobson wrote with possible deletions:
 | Having only recently learned to use Monads and appreciate their
 | utility, I am encountering new category-theoretic material in reading
 | about arrows in Jansson and Jeuring's Polytypic Compact Printing and
 | Parsing paper.  
 | 
 | It strikes me that I should just get the basics under my belt rather than
 | skipping ahead hear.  What is a good place to start learning the
 | basics of category theory, monads, and algebra (as in algebraic types not
 | high school math) for use in a programming context?  Books? Papers?
 | Websites? 

I can definitely recommend Richard Bird's and Oege de Moor's ``Algebra
Of Programming'' here.  

   Richard Bird, Oege de Moor
   Algebra Of Programming
   Prentice Hall Int'l Series in Computer Science, 1997
   ISBN 0-13-507245-X

Cheers,
--Torsten
-- 
  | Torsten Grust  [EMAIL PROTECTED] | 
  |   http://www.fmi.uni-konstanz.de/~grust/ |
  | Database Research Group, University of Konstanz (Lake Constance/Germany) |





Re: category theory

1998-10-15 Thread Hans Aberg

At 17:25 +1000 98/10/15, David Glen JEFFERY wrote:
Does something like this exist?  FWIW, I'm using Hugs 1.4

  I gather that "FWIW" is yet another SSMA; what does it mean?

  Hans Aberg
  * Email: Hans Aberg mailto:[EMAIL PROTECTED]
  * Home Page: http://www.matematik.su.se/~haberg/
  * AMS member listing: http://www.ams.org/cml/






Re: category theory

1998-10-15 Thread Hans Aberg

At 18:27 +0900 98/10/15, Frank Christoph wrote:
I encourage you to acquire some familiarity with a related field first, e.g.,
universal algebra, topology or even type theory or logic, since category
theory is very abstract stuff ("abstract nonsense" is a commonly cited
description; of course, some people insist that category theory is more like
the abstract nonsense _behind_ the abstract nonsense).  Algebraic topology in
particular _really_ puts category theory in perspective, as I learned
recently.

  I think perhaps algebraic geometry is an even better example, especially
Grothendieck's theories for handling the characteristic p case and other
such theories: For example, instead of just having a set theoretic
topology, one uses a Grothendieck topology defined in terms of category
theory, which can be used to define cohomology theories (such as derived
categories) on algebraic schemes. Abstractions of Grothendieck toposes led
to the concept of elementary toposes which can be used as a replacement for
set theoretic models. There is a lot of exiting spin-offs, such as using
derived categories to study singularities in analysis (D-modules) and
stratified manifolds in differential geometry. One can also mix these
theories with say QM (Quantum Mechanics) and GR (general relativity).

  Very exiting stuff, but I should caution that there is a risk that the
person studying it will be diverted from the original programming tasks for
a period of time (like a couple of years).

  Hans Aberg
  * Email: Hans Aberg mailto:[EMAIL PROTECTED]
  * Home Page: http://www.matematik.su.se/~haberg/
  * AMS member listing: http://www.ams.org/cml/






Re: category theory

1998-10-15 Thread Hans Aberg

On 15-Oct-1998, Hans Aberg [EMAIL PROTECTED] wrote:
   I gather that "FWIW" is yet another SSMA; what does it mean?

At 01:22 +1000 98/10/16, David Glen JEFFERY wrote:

For What It's Worth.  Okay... I'll bite. What's SSMA?

some such meaningless acronym

  Hans Aberg
  * Email: Hans Aberg mailto:[EMAIL PROTECTED]
  * Home Page: http://www.matematik.su.se/~haberg/
  * AMS member listing: http://www.ams.org/cml/






Re: category theory

1998-10-15 Thread Alan Wood

Re: category theory --- S. Alexander Jacobson wrote:

| What is a good place to start learning the
| basics of category theory, monads, and algebra (as in algebraic types not
| high school math) for use in a programming context?  Books? Papers?
| Websites?

I've found most attractive account (for a jobbing computer scientist like me)
to be the first 100 or so pages of Goldblatt's 'Topoi' (North-Holland, 1984)
... beautifully written.

On another point ... I assume *someone* out there must have re-written the ML
code from Rydeheard and Burstall's 'Computational Category Theroy' in Haskell -
even if only partially. If you have, I'd welcome a copy of the code.

Alan

-- 
Dr A.M. Wood email: [EMAIL PROTECTED]
Department of Computer Science   WWW:   http://www.cs.york.ac.uk/~wood
University of York   phone: +44 1904 432776
Heslington   fax:   +44 1904 432767
York
YO10 5DD
UK