Skip to content

Instantly share code, notes, and snippets.

data Zero = Zero
data Succ a = Succ a
pred = \s -> case s of Succ a -> a
meters = \n ->
{ multiply: \v -> v { value = n * v.value, meters = Succ (v.meters) }
, divide: \v -> v { value = n / v.value, meters = pred (v.meters) }
}
@mariussoutier
mariussoutier / Mail.scala
Created August 23, 2012 12:13
Sending mails fluently in Scala
package object mail {
implicit def stringToSeq(single: String): Seq[String] = Seq(single)
implicit def liftToOption[T](t: T): Option[T] = Some(t)
sealed abstract class MailType
case object Plain extends MailType
case object Rich extends MailType
case object MultiPart extends MailType