Skip to content

Instantly share code, notes, and snippets.

@VlachJosef
VlachJosef / Factorisation.purs
Created November 22, 2017 22:50
factorisation
module Factorisation where
import Control.MonadZero (guard)
import Data.Array (concatMap, cons, nub, sort, (..))
import Data.Functor (map)
import Data.Tuple (Tuple(..))
import Prelude (bind, pure, ($), (==), discard, (*))
factors :: Int -> Array (Tuple Int Int)
factors n = do
@VlachJosef
VlachJosef / ValidatedSpec.scala
Created April 28, 2017 09:53
cats.data.Validated examples
package uk.gov.hmrc.bforms.validatetest
import cats.kernel.Monoid
import cats.data.Validated
import cats.instances.all._
import cats.syntax.cartesian._
import java.time.LocalDate
import org.scalatest._
import scala.util.Try
@VlachJosef
VlachJosef / EitherTSpec.scala
Last active April 28, 2017 09:34
cats.EitherT
package uk.gov.hmrc.bforms.models
import org.scalatest.{ FlatSpec, Matchers }
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
import org.scalatest.concurrent.ScalaFutures
import cats.data.EitherT
import cats.instances.future._
class EitherTSpec extends FlatSpec with Matchers with ScalaFutures {
@VlachJosef
VlachJosef / TaggedShapelessSuite.scala
Created November 11, 2015 12:08
Using tagged type with play-json
package funkypandagame
import org.scalatest.FlatSpec
import org.scalatest.Matchers
import play.api.libs.json._
import shapeless.tag
import shapeless.tag.@@
sealed trait IdTag
sealed trait NameTag
@VlachJosef
VlachJosef / TaggedScalazSuite.scala
Last active December 22, 2016 15:57
Using tagged type with play-json
package taggettest
import org.scalatest.FlatSpec
import org.scalatest.Matchers
import play.api.libs.json._
import scalaz.{Tag, @@}
sealed trait UserTag