docs| typelevel.org
Cleaner, More Expressive Java| magnussmith.github.io
Scala offers a lightweight notation for expressing sequence comprehensions. Comprehensions have the form for (enumerators) yield e, where enumerators refers to a list of enumerators. An enumerator is either a generator, or it is a guard (see: Control Structures). A comprehension evaluates the body e for each binding generated by the enumerators and returns a sequence of these values.| Scala Documentation
In this post we explore the power of Algebraic Data Types(ADT) with Pattern Matching in Java. We look at how they help us model complex business domains and how using them together gives improvements on the traditional Visitor Pattern.| Scott Logic
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
In this post we will see how Higher Kinded Types types can help increase the flexibility of our code and reduce duplication.| 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
docs| typelevel.org
docs| typelevel.org