Contributions

Tutorial
This video concludes this series. We will see alternative ways of Stream generation which are not trivial to express with unfold. We will implement the typical Streaming examples like factorial, Fibonacci and primes. We will also see what comes after the series.
Tutorial
The biggest question people seem to have about Streams is how to put data into Streams aka "How to feed the Snake?" and so today we are going to see multiple ways of generating Streams.
Tutorial
In this video we will see how modeling Streams as delayed lists is insufficient for implementing procedures related to filtering.
Tutorial
In this video we will ironically require the Environment Model for Procedure Application in order to ensure that our Streams implementation does not produce evaluation leaks.
Tutorial
In this video we will implement a rudimentary version of Streams and play around with them. We will also be forced to switch to Scala 2.13 which comes with the necessary compiler improvements.
Tutorial
In this video we will open the conversation about Streams and implement them in the videos to come.
Tutorial
In this video we will learn about Monoids which are lurking everywhere and are therefore worth knowing about. We will also cover a bit more of the Group Theory and write a small library for it. This video got too long and so I split it into two.
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.

Showing the last 30 only...