No subject
Thu Jan 10 18:17:16 CET 2013
looking for.
-Brent
On Tue, Feb 12, 2013 at 10:02:14AM -0500, Patrick Lynch wrote:
> Good morning,
>=20
> I've actually have 6 books in my library. They are:
> 1. "Algebra Third Edition" by MacLane and Birkhoff
> [I couldn't get anything out of this book]
> 2. "Categories for the Working Mathemetician - Second Edition" by Mac L=
ane
> [I could get through the first chapter and then gave up]
> 3. "Conceptual Mathematics - A first introduction to categories" by
> Lawvere and Schanuel
> [The first chapter was understandable but the following chapters
> were completely undecipherable]
> 4. " Basic Category Theory for Computer Scientists" by Pierce
> [I could get through all three chapters but couldn't do the
> exercies - and could not see how CT applies to Haskell {especially,
> Monoids, Monads and Functors}]
> 5. "Categories and Computer Science" by Walters
> [This one made me cry]
> 6. "Category Theory" by Awodey
> [Again, I could only get through the first chapter]
>=20
> I tried viewing the videos by Eugenia Cheng - but I just couldn't
> follow her presentation.
> I also viewed another video entitled Hasket and CT - but it was given
> by a mathematican and I couldn't follow this fellow - I'll have to
> get the link for this.
> I finally viewed a video by Brian Beckman in regard to FP [eg: F# and
> Haskell - and mentions C# as a comparison non-FP language],
> specifically, in regard to Monoids and it was great - however, he
> didn't go into CT - but he did recommend that the viewer pursue it.
>=20
> I'm really not interested in all of the categories in the world...I
> specifically am interested in how CT applies to Hask, Monoids, Monads
> and Functors.
> All of the Haskell authors that I've read have 'ducked' the CT issue
> - mentioning that it is not necessary to understand Haskell. I often
> was left with the thought: are they correct or do they simply not
> understand CT.
> If you know of a Computer Scientist [and, please, not a
> Mathematician] who has written in regard to Haskell and CT, please
> let me know.
>=20
> Hopefully, there is a reference that is available that will help me -
> if not, I plan on revisting my Haskell books ["Learn You a Haskell
> for Great Good!..." by Lipovaca and "Real World Haskell" by
> O'Sullivan, etal] and focus in on Functors, Monoids, Monads and Hask.
> I'll also view Brian Beckman's video again and see if I can really
> follow his example.
>=20
> Thank you
>=20
>=20
> ----- Original Message ----- From: <beginners-request at haskell.org>
> To: <beginners at haskell.org>
> Sent: Tuesday, February 12, 2013 6:00 AM
> Subject: Beginners Digest, Vol 56, Issue 20
>=20
>=20
> >Send Beginners mailing list submissions to
> >beginners at haskell.org
> >
> >To subscribe or unsubscribe via the World Wide Web, visit
> >http://www.haskell.org/mailman/listinfo/beginners
> >or, via email, send a message with subject or body 'help' to
> >beginners-request at haskell.org
> >
> >You can reach the person managing the list at
> >beginners-owner at haskell.org
> >
> >When replying, please edit your Subject line so it is more specific
> >than "Re: Contents of Beginners digest..."
> >
> >
> >Today's Topics:
> >
> > 1. Re: Haskell and Category Theory (Rustom Mody)
> > 2. Re: Haskell and Category Theory (Joe Fredette)
> > 3. Re: Effective use of nested Monads (David Hinkes)
> >
> >
> >----------------------------------------------------------------------
> >
> >Message: 1
> >Date: Mon, 11 Feb 2013 19:01:51 +0530
> >From: Rustom Mody <rustompmody at gmail.com>
> >Subject: Re: [Haskell-beginners] Haskell and Category Theory
> >To: The Haskell-Beginners Mailing List - Discussion of primarily
> >beginner-level topics related to Haskell <beginners at haskell.org>
> >Message-ID:
> ><CAJ+Teoc=3DYn9aWi-7OnOcLPPiywZ+rv__wiEjhTGdVD_0bP_qDg at mail.gmail.com>
> >Content-Type: text/plain; charset=3D"iso-8859-1"
> >
> >On Mon, Feb 11, 2013 at 10:37 AM, Brent Yorgey
> ><byorgey at seas.upenn.edu>wrote:
> >
> >>On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote:
> >>> Good morning,
> >>> I've tried to read 5 books on Category Theory and finally have admi=
tted
> >>defeat.
> >>> What I'm looking for is simply a book that is geared to Haskell and
> >>Category that can be understood by mere mortals.
> >>> I was trained as an Electrical Engineer, so my math is quite
> >>good, but > I
> >>just don't get Category Theory from these books.
> >>> If anyone can recomment a book on Category Theory and Haskell, writ=
ten
> >>by a Computer Scientest [no more Mathematicians for me], I welcome it.
> >>> Thanks,
> >>> Patrick
> >>
> >>Can you tell us which books you've tried to read?
> >>
> >>-Brent
> >>
> >
> >Well Brent is not going to say it I guess so someone needs to:
> >Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia
> >is required reading
> >-------------- next part --------------
> >An HTML attachment was scrubbed...
> >URL: <http://www.haskell.org/pipermail/beginners/attachments/20130211/=
b8a154b7/attachment-0001.htm>
> >
> >------------------------------
> >
> >Message: 2
> >Date: Mon, 11 Feb 2013 08:47:37 -0500
> >From: Joe Fredette <jfredett at gmail.com>
> >Subject: Re: [Haskell-beginners] Haskell and Category Theory
> >To: The Haskell-Beginners Mailing List - Discussion of primarily
> >beginner-level topics related to Haskell <beginners at haskell.org>
> >Message-ID: <E437EA88-0456-4669-BDDC-FEECE93FD165 at gmail.com>
> >Content-Type: text/plain; charset=3D"iso-8859-1"
> >
> >
> >While we await a reply, I will say that I found Benjamin Pierce's
> >"Basic Category Theory for Computer Scientists" pretty readable,
> >but will also readily admit my understanding of CT is not
> >particularly deep or great. There are also some videos on youtube,
> >particularly by [error792](1) which are worth watching, though they
> >approach from a more math-oriented perspective (the video-author is
> >a Mathematics Grad Student).
> >
> >One thing that helped me a lot was learning a bit about
> >Combinatorial Species -- I come from a math background, so having
> >something firmly abstract to grab onto wrt examples of CT in use
> >was (and is) useful, Brent has a [nice suite of posts](2) on the
> >matter, and I'm sure will have some book/paper recommendations, I
> >linked to just one of the posts on his blog, I'm sure you can
> >navigate to the others.
> >
> >The trick, I think, to learning CT is to realize it's a lot like
> >Set theory -- there's a lot of abstract nonsense and definition
> >shuffling (which error792's videos, iirc, note as "Soft Theorems"),
> >and very little (immediate) connection to reality/more concrete
> >tools. However, CT provides a framework of understanding which acts
> >kind of like a highway-of-abstraction. When I can say, "A
> >combinatorial species _is_ an endofunctor on the category of Sets
> >and their Bijections", I necessarily know that if I can translate
> >that category into another thing, then I can use my knowledge of
> >species to inform my knowledge of that thing.
> >
> >I'm probably telling this story wrong in some way, perhaps (if we
> >don't mind a bit of thread hijacking) someone can improve my
> >understanding of CT by correcting my likely and inevitable
> >mistakes.
> >
> >/Joe
> >
> >
> >(1) http://www.youtube.com/user/error792
> >
> >(2) http://byorgey.wordpress.com/2012/11/20/combinatorial-species-defi=
nition/
> >
> >
> >>
> >>
> >>On Mon, Feb 11, 2013 at 10:37 AM, Brent Yorgey
> >><byorgey at seas.upenn.edu> wrote:
> >>On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote:
> >>> Good morning,
> >>> I've tried to read 5 books on Category Theory and finally have
> >>admitted > defeat.
> >>> What I'm looking for is simply a book that is geared to Haskell
> >>and > Category that can be understood by mere mortals.
> >>> I was trained as an Electrical Engineer, so my math is quite
> >>good, but > I just don't get Category Theory from these books.
> >>> If anyone can recomment a book on Category Theory and Haskell,
> >>written > by a Computer Scientest [no more Mathematicians for
> >>me], I welcome it.
> >>> Thanks,
> >>> Patrick
> >>
> >>Can you tell us which books you've tried to read?
> >>
> >>-Brent
> >>
> >>Well Brent is not going to say it I guess so someone needs to:
> >>Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia
> >>is required reading
> >>_______________________________________________
> >>Beginners mailing list
> >>Beginners at haskell.org
> >>http://www.haskell.org/mailman/listinfo/beginners
> >
> >-------------- next part --------------
> >An HTML attachment was scrubbed...
> >URL: <http://www.haskell.org/pipermail/beginners/attachments/20130211/=
7d75e152/attachment-0001.htm>
> >
> >------------------------------
> >
> >Message: 3
> >Date: Mon, 11 Feb 2013 10:30:56 -0800
> >From: David Hinkes <david.hinkes at gmail.com>
> >Subject: Re: [Haskell-beginners] Effective use of nested Monads
> >To: The Haskell-Beginners Mailing List - Discussion of primarily
> >beginner-level topics related to Haskell <beginners at haskell.org>
> >Message-ID:
> ><CA+_CxFPpwmW9X6WJ8b6JSA8=3DEJwaFhE+gOQZTiOJcfcz9+7mTg at mail.gmail.com>
> >Content-Type: text/plain; charset=3D"utf-8"
> >
> >On Sun, Feb 10, 2013 at 9:17 PM, Brent Yorgey
> ><byorgey at seas.upenn.edu>wrote:
> >
> >>On Sun, Feb 10, 2013 at 02:53:18PM -0800, David Hinkes wrote:
> >>> Hi haskell-beginners,
> >>>
> >>> I'm starting to come to the idea of exposing a Monad as a means of
> >>> controlling an API. So, I've started creating my own Monad data ty=
pes
> >>> based on classical monads. However, I'm running into a problem
> >>> regarding
> >>> creating monad definitions when using nested Monads.
> >>>
> >>> For example:
> >>>
> >>> newtype Example m o =3D Example {
> >>> runExample :: State Int (m o)
> >>> }
> >>>
> >>> Is there a clean way to make Example a monad?
> >>
> >>Actually, there isn't! This is one way in which monads turn out to b=
e
> >>*too* powerful: they don't compose very well. If m and n are monads,
> >>then their composition (that is, a type like newtype Composed a =3D
> >>Composed (m (n a))) is *not* necessarily a monad! So "nesting" monad=
s
> >>in this way is usually not a good idea.
> >>
> >>What you want are called "monad transformers", which give you a way t=
o
> >>"compose" certain monads (though it's more complicated than just
> >>nesting them). You can do your Example type something like this:
> >>
> >> newtype Example m o =3D Example {
> >> runExample :: StateT Int m o
> >> }
> >>
> >>where StateT is the State monad transformer, defined in the
> >>'transformers' package (and also exported from the 'mtl' package). I
> >>refer you to the typeclassopedia for more information and links to
> >>further reading:
> >>
> > http://www.haskell.org/haskellwiki/Typeclassopedia#Monad_transformers
> >
> >
> >Thanks Brent, I'll try to re-organize around the transforms.
> >-------------- next part --------------
> >An HTML attachment was scrubbed...
> >URL: <http://www.haskell.org/pipermail/beginners/attachments/20130211/=
7c6272bc/attachment-0001.htm>
> >
> >------------------------------
> >
> >_______________________________________________
> >Beginners mailing list
> >Beginners at haskell.org
> >http://www.haskell.org/mailman/listinfo/beginners
> >
> >
> >End of Beginners Digest, Vol 56, Issue 20
> >*****************************************
> >
>=20
>=20
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
More information about the Beginners
mailing list