Skip to content

Instantly share code, notes, and snippets.

View yannick-cw's full-sized avatar

Yannick Gladow yannick-cw

View GitHub Profile
@yannick-cw
yannick-cw / ThrottleF.scala
Last active August 6, 2017 16:02
Monad to throttle execution
import cats.{FlatMap, Monad}
import cats.data.StateT
import scala.concurrent.{Await, Future}
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.Duration
import cats.implicits._
object ThrottleExp extends App {
@yannick-cw
yannick-cw / phantomTypes.scala
Last active August 13, 2017 15:02
Examples with two phantom types patterns
object DbRepo {
sealed trait State
sealed trait Fresh extends State
sealed trait IndexCreated extends State
sealed trait IndexReady extends State
sealed trait ReadyToRead extends State
def apply(): DbRepo[Fresh] = new DbRepo
}