Skip to content

Episode 60

Photo of Jed Wesley-Smith
Hosted By
Jed W.
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.

Photo of ScalaSyd group
ScalaSyd
See more events
Atlassian Headquarters
Level 6, 341 George St · Sydney