Skip to main content
9 events
when toggle format what by license comment
Feb 9, 2012 at 5:05 review Suggested edits
Feb 9, 2012 at 5:06
May 20, 2011 at 12:11 comment added Richard Anthony Hein @Job, See blogs.msdn.com/b/wesdyer/archive/2008/01/11/… as referenced in the comment above.
May 20, 2011 at 2:13 comment added Job I started to like FP because of Clojure. LINQ is many things. How is it a monad? It is generators IMO.
Nov 22, 2010 at 15:40 comment added Richard Anthony Hein @Stefan: It sounds somewhat accurate to say the lambda sees it's environment, but I'm not 100% clear on that, so I hesitate to answer until I learn more myself. However, I can say with 100% certainty, that LINQ is monads, because the creators have said so on many occasions. SelectMany is exactly equivalent to Bind in Haskell. If you haven't read "The Marvels of Monads" (blogs.msdn.com/b/wesdyer/archive/2008/01/11/…) I highly recommend it ... it'll reveal how LINQ is really monads. Cheers.
Nov 19, 2010 at 18:54 comment added Stefan Monov @Richard: "type IO a = World -> (a, World)" sounds almost too good to be true (I thought I'd never get monads). I guess you liken LINQ to monads because when you pass a lambda into a LINQ operator, the lambda "sees" its entire environment, is that right?
Nov 19, 2010 at 17:27 comment added ChaosPandion A more relevant example would be type IO a = UI -> (a, UI) a fantastic answer though.
Nov 19, 2010 at 17:03 comment added Eric Wilson Extremely informative, thanks. I'm accepting this answer, not because it is right and others are wrong (I've upvoted several) but because I think it deserves the resulting visibility.
Nov 19, 2010 at 17:02 vote accept Eric Wilson
Nov 19, 2010 at 16:43 history answered Richard Anthony Hein CC BY-SA 2.5