echo $my_thoughts > /dev/null

Code, philosophy and scribblings

Helpful Resources for Understanding Bits of Lambda Calculus, Functional Programming, Types and Monads

A cheat sheet for Set Theory. A basic understanding of Set Theory and its jargons (domains, ranges, functions) will be handy while reading most programming language theory-ish articles. Just understand Set Theory, Type Theory and the likes are just different ways of defining the same mathematical phenomenons.

http://people.umass.edu/partee/NZ_2006/Set%20Theory%20Basics.pdf

The Turing Machine - Alan’s original paper explained for mortals

http://index-of.co.uk/Theory-of-Computation/Charles_Petzold-Annotated_Turing-Wiley(2008).pdf)

Algebraic data types (touches on recursive types)

https://en.wikibooks.org/wiki/Introduction_to_Programming_Languages/Algebraic_Data_Types

An excellent resource for diving into Haskell. Abstracts away most math theory behind Haskell but you’ll get a hand of the language.

http://learnyouahaskell.com/recursion#hello-recursion Start with recursion, just for the fun of it!

Don’t let the title mislead you. I had an Aha moment on Lambda Calculus itself reading mid-way.

https://cdsmith.wordpress.com/2012/04/18/why-do-monads-matter/

YCombinator - decrypted for mortals.

https://lucasfcosta.com/2018/05/20/Y-The-Most-Beautiful-Idea-in-Computer-Science.html

The science of functional programming (Haven’t finished reading yet, but looks very approachable)

https://github.com/winitzki/sofp/blob/master/sofp-src/sofp.pdf