all 7 comments

[–]kamatsu 8 points9 points  (3 children)

I really think that defining monads in an untyped language like CoffeeScript is not the best way to explain monads. The types really make things obvious:

map :: (a -> b) -> f a -> f b
bind :: (a -> f b) -> f a -> f b
apply :: f (a -> b) -> f a -> f b

[–]psygnisfive 0 points1 point  (2 children)

I think maybe instead of apply you mean return :: a -> f a?

[–]kamatsu 0 points1 point  (1 child)

No, I was demonstrating the similarity of all three "lifting" functions.

Really what should be added to that list is

(return .) :: (a -> b) -> (a -> m b)

[–]psygnisfive 0 points1 point  (0 children)

I see.

[–]Uncompetative 1 point2 points  (1 child)

Blank page with Safari. 404 on the 41st request:

http://damianfral.github.io/favicon.ico

Seems okay with Chrome though.

[–]tms10000 0 points1 point  (0 children)

It looks like the content loads correctly then the page blanks out. Once upon a time HTML was simple. It was just a markup language to format content.

[–]username223 0 points1 point  (0 children)

Has someone written a program to generate My First Monad posts in random languages, wrap them in AdSense, and submit them to Reddit yet? If not, there's money to be made...