Episode 60


Details
Conditional ContextsMark Hopkins
Wouldn't it be nice if Scala would let you write a parametric function that would do different things, depending on whether or not a type class instance was available for the type?
For instance
• a Set[A](a: A*) function that creates either a TreeSet or a HashSet, depending on whether an Ordering[A] is in scope.
• a numerical algorithm doCalc[N : Numeric](n: Matrix[N]) that works for all numeric types N, but uses a (more expensive) numerical stability technique for floating point operations, but not integral (which don't need it).
I'll run through the use and implementation of a Haskell library which provides this functionality, then show the (surprisingly simple) Scala implementation.
Eff MonadBinzi Cao
In this talk, we'll introduce Eff Monad and share some examples based on the library:
https://github.com/atnos-org/eff
The topics includes:
• Some basic FP concepts
• The road to Eff Monad and why it matters
• Eff Monad by examples
Stackless Scala with Free MonadsAfsal Thaj
• This talk is going to be basic by defining a Free Monad from scratch.
This talk will cover the following:
Skim through the paper on Stackless Scala using Free Monads: http://blog.higher-order.com/assets/trampolines.pdf . • A few hands-on examples.
• Defining a free monad language for logs, and injecting it in our main application.

Episode 60