[Haskell-cafe] Re: Category Theory woes
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
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
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
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 .....
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
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
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
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
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
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
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
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
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
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
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
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
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