Contributions

Tutorial
In this video we will implement Lists/Stacks and learn about the hidden treasures of foldRight. This video got too long and so I split it into two.
Tutorial
In this video we will mostly talk about Arrays, Strings, Lists and also mention Vectors. We will also pave the way to the upcoming foldRight video.
Tutorial
In this video we will learn about a few common Monads. We will also learn about type lambdas, partial type application and partial unification. Additionally we will learn how to use the kind-projector Scala compiler plugin.
Tutorial
In this video we will see how Monads help with the manual composition of Kleisli arrows. We will also learn about related constructs like Functors, Applicatives and more.
Tutorial
In this video we will learn about tacit programming aka the point-free style in which functions are composed without passing points (function arguments) around. We will see how monads play the central part in the composition of kleisli arrows. We will start with the IO Monad.
Tutorial
This is an introductory video to the Monad mini series. We will learn what Monads are and what problems they are trying to solve. Furthermore we will learn about Kleisli arrows and Kleisli composition. Apart from that we will write a small library for functional programming.
Tutorial
In this video we will practice writing property based tests with custom generators.
Tutorial
In this video we will see how the property based testing library ScalaCheck can be integrated into the example based library ScalaTest. Furthermore we will see how ScalaTest can be used for property based testing without ScalaCheck in the near future.
Tutorial
In this video we will learn about property based testing, which is an alternative to example based testing.
Tutorial
In this video we will try to embed Ordering into Trees and face extraordinary challenges.
Tutorial
In this video we are going to learn about Ordering - arguably the most known typeclass in Scala.
Tutorial
In this video we will try really hard to use typeclasses where they are inappropriate and thus learn arguably one of the most important lessons a software developer can learn: use the right tool for the job!
Tutorial
In this video we will learn about most of the nitty gritty details of implicits - one of the most powerful and therefore dangerous features in Scala.
Tutorial
Object Oriented languages implement ad hoc polymorphism via subtypes. In this video we will see how functional languages achieve similar results with type classes.
Tutorial
In this video we will implement joins for both the standard and the homegrown collections libraries as internal DSLs which we learnt about in the previous video.
Tutorial
In this video we will see how Sets interact with Maps and have a crash course about internal DSLs with and without implicits. We will learn about things like fluent interfaces or method chaining and object scoping.
Tutorial
In this video we will implement the typical operations on Maps like withDefault or getOrElseUpdated and also see how Sets interact with Maps via operations like groupBy.
Tutorial
In this video we will implement the typical higher-order functions for our Maps and integrate them into the rest of the library.
Tutorial
In this video we will implement the rudimentary version of Maps which apart from simply being useful data structures may also be viewed as functions with fluctuating domains and codomains (or ranges).
Tutorial
In this video we will notice that our Sets are actually a mixture of Sets and Trees so we will invest some time into a heavy refactoring.
Tutorial
In this video we will learn about for comprehensions and see what exactly they desugar to.
Tutorial
In this video we will learn how trampolines can eliminate tail calls in any program, not only CPS. This is part 2/2.
Tutorial
In this video we will learn about trampolines - a tail call elimination technique used in CPS programs. This is part 1/2.
Tutorial
In this video we will attempt to eliminate tail calls with CPS.
Tutorial
In this video we will learn about a programming style in which control is passed in the form of a continuation instead of using stack frames.
Tutorial
In this video we will learn how to move a computation from the stack to the heap in order to make it tail recursive.
Tutorial
In this video we are going to start a conversation about advanced tail call elimination techniques.
Tutorial
In this video we are going to balance the binary search trees backing our Sets by implementing Red-Black trees based on the famous paper called: "Red-black Trees in a Functional Setting" by Chris Okasaki.
Tutorial
In this video we are going to implement a method on our Sets which will render the binary trees backing them. The output is inspired by the Linux "tree" command.
Tutorial
In this video we will improve the algorithmic complexity of our Sets by learning about and implementing binary search trees.

Showing the last 30 only...