Skip to content

Instantly share code, notes, and snippets.

object Rational {
implicit def rationalInt(n: Int): Rational =
Rational(n, 1)
def gcd(a: Int, b: Int): Int =
if (b == 0) a else gcd(b, a % b)
}
case class Rational(p: Int, q: Int) {
require(q != 0, "Denominator 'q' cannot be 0")
import doobie._
import doobie.imports._
import scala.concurrent.duration._
import scalaz.Nondeterminism
import scalaz.concurrent.Task
import scalaz.std.list._
// def transactor: Transactor[Task] = ???
@megri
megri / gist:ae97142a7063376aac134e8c30f0329d
Created June 16, 2016 09:55
Quill: Exception thrown when decoding a null value using mappedEncoder[String, LocalDateTime] for an optional field
import java.time.format.{DateTimeFormatter, DateTimeFormatterBuilder}
import java.time.temporal.ChronoField
import java.time.{LocalDateTime, ZoneId}
import io.getquill._
import io.getquill.naming.SnakeCase
import io.getquill.sources.sql.idiom.PostgresDialect
case class Test(date: Option[LocalDateTime])
import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent._
import duration._
import ExecutionContext.Implicits.global
def ftraverse[A, B](xs: Seq[A])(f: A => Future[B]): Future[Seq[B]] = {
if(xs.isEmpty) Future successful Seq.empty[B]
else f(xs.head) flatMap { fh => ftraverse(xs.tail)(f) map (r => fh +: r) }
}