In this post we will see how Thunks and Trampolines can help solve problems by converting deep stack-based recursion into heap-based iteration helping to prevent StackOverflowErrors| Scott Logic
Learn about how Functors and Monads provide patterns to write cleaner, more composable, and robust code that helps us deal with operations like handling nulls, managing errors and sequencing asynchronous actions.| Scott Logic
In this post we will see how Intersection types help us better model type constraints promoting reuse and how Union types increase code flexibility. We will compare and contrast approaches and how to use in the latest Java and Scala.| Scott Logic
In this post we look at Variance in Generics and how it is handled in Java and Scala. We consider use-site and declaration-site approaches and the trade offs of erasure. Finally we take a look at Phantom and Existential types and how they can enhance the capabilities of the type system when it comes to modelling.| Scott Logic