This blog is a place where I will drop possibly useful programming tips and techniques. As a seasoned Scala developer I know my way around a monad or two and hope to demystify some of the concepts of functional programming. I realise this task is probably impossible as FP techniques are impossible to explain. After all, only the author learns something from a monad tutorial!

So if I hope to write some useful posts about programming langauges, libraries, and techniques – maybe even the aforementioned monad tutorial.

The Author's Journey

I started my journey with Java, object-oriented programming, and big nasty frameworks like WebSphere, Spring, etc. Those systems put me off programming, until I was lucky enough to do a few years of Python.

I enjoyed my time with Python, but eventually the project ended and I had to return to Java. Fortunately, Java 8 had been released and Java had picked up on the functional trend, so it was better than before: but wasn't quite fun like Python. So shortly after, I left to go freelancing and had the opportunity to learn Scala. Not before long did I find myself confused by Monad tutorials, Scalaz/Cats, and all sorts of strange terminology.

After the contract ended, I was once more stuck on some dull Java projects so I started exploring languages. To improve my Scala I wrote a little game with a Typescript frontend. Then I moved on to Kotlin before finally stumbling upon ReasonML

After just one project in Reason I really liked the langauge, but never thought I'd work with it.

Whilst working with Kotlin was interesting I landed a role in Japan and found myself using Pure FP in Scala where I got production experience with Pure FP.

These days I am working with ReasonML, and as there isn't that much on the web about the language I hope to help!