I hereby claim:
- I am stacycurl on github.
- I am stacycurl (https://keybase.io/stacycurl) on keybase.
- I have a public key whose fingerprint is 8962 46C2 6E52 5CFF 69A5 82DB AD52 E9E1 5A45 C8A7
To claim this, I am signing this object:
sendText : HostName -> .base.Nat -> .base.Text ->{IO} () | |
sendText hostName port text = | |
serviceName = ServiceName.ServiceName (.base.Nat.toText port) | |
socket = clientSocket hostName serviceName | |
send socket (.base.Text.asciiBytes text) | |
closeSocket socket | |
base.Text.asciiBytes : .base.Text -> .base.Bytes | |
base.Text.asciiBytes = .base.Bytes.fromList . base.Text.asciiNats |
trait Splitable[A] { | |
def size(a: A): Int | |
def splitAt(a: A, index: Int): (A, A) | |
def subtract(lhs: A, rhs: A): A | |
} | |
object Splitable { | |
def apply[A](implicit S: Splitable[A]): Splitable[A] = S |
implicit def tuple2Semigroup[A, B](implicit A: Semigroup[A], B: Semigroup[B]): Semigroup[(A, B)] = instance[(A, B)] { | |
case ((la, lb), (ra, rb)) => (A.append(la, ra), B.append(lb, rb)) | |
} | |
/** Make an associative binary function into an __Serializable__ instance. */ | |
def instance[A](f: (A, => A) => A): Semigroup[A] = SerializableSemigroup(f) | |
private case class SerializableSemigroup[A](f: (A, => A) => A) extends Semigroup[A] { | |
private val self: Semigroup[A] = this |
import scalaz.effect.IO | |
import scalaz.{EitherT, Monad} | |
object Program extends ProgramInstances { | |
def apply[A](a: A): Program[A] = Program[A](EitherT.right[IO, Throwable, A](IO(a))) | |
} | |
trait ProgramInstances { | |
implicit object ProgramMonad extends Monad[Program] { | |
override def point[A](a: => A): Program[A] = Program[A](a) |
I hereby claim:
To claim this, I am signing this object: