Skip to content

Instantly share code, notes, and snippets.

@ajrouvoet
Last active August 29, 2015 14:24
Show Gist options
  • Save ajrouvoet/c7c775cbcce6e0291e97 to your computer and use it in GitHub Desktop.
Save ajrouvoet/c7c775cbcce6e0291e97 to your computer and use it in GitHub Desktop.
How to become an elite functional programmer.
level 1. Join #scala and explain you want to accomplish X, let #scala remind you that everything you
have done in life is wrong and you should feel bad
level 2. Retreat, read some FP resources and repeat from 1 until you feel you "get monads"
level 3. Join #scala, try to help someone else; get reminded that monads are not just container things.
Repeat from 2 until you see the error of your ways.
level 4. Join #scala, tell people who are trying to help others that they are wrong;
then while trying to make things right,
get reminded that everything you say can and will be disputed by level 5 people and up.
level 5. Dispute anything anyone says about monads, even if it takes bending the intended meaning of their words a little
level 6. Dispute anything anyone says. REMEMBER: nothing you say needs to be constructive: you are now on the top of the chain.
When you find yourself in a corner, just hit them with category theory: it's *very* effective.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment