Stephan Sahm is Senior Data Science and ML Engineering Consultant. Having programmed in Java, Matlab, Python, R, Scala and Julia he appreciates the combination of simplicity and speed which the Julia language brings to Data Science. With master degree in math/stochastics and cognitive science together with 5 years industry experience he can help you bring your favourite Data idea into production.
Functional programming has a lot of benefits. Within julia many know about immutability, however who has used monads? Monads capsulate context or side-effects and are one of the corner stones of classical functional programming. Take a look what monads are and how DataTypesBasic.jl and TypeClasses.jl implemented them in Julia.
While Monads make it easy to hide one context nicely in your code, with Extensible Effects you can combine multiple contexts and let them seamlessly interact with each other. TLDR: If you want to abstract and hide away some computational context, prefer Extensible Effects to Monads.