|
Scala example source code file (Resource.scala)
The Resource.scala Scala example source codepackage scalaz package effect //// import java.io.Closeable /** * */ //// trait Resource[F] { self => //// def close(f: F): IO[Unit] // derived functions def contramap[G](f: G => F): Resource[G] = new Resource[G] { def close(g: G): IO[Unit] = self.close(f(g)) } //// val resourceSyntax = new scalaz.syntax.effect.ResourceSyntax[F] { def F = Resource.this } } object Resource { @inline def apply[F](implicit F: Resource[F]): Resource[F] = F //// def resource[A](closeAction: A => IO[Unit]): Resource[A] = new Resource[A] { def close(a: A): IO[Unit] = closeAction(a) } def resourceFromCloseable[A <: Closeable]: Resource[A] = resource(a => IO(a.close)) implicit val contravariant: Contravariant[Resource] = new Contravariant[Resource] { def contramap[A, B](fa: Resource[A])(f: B => A): Resource[B] = fa.contramap(f) } //// } Other Scala examples (source code examples)Here is a short list of links related to this Scala Resource.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.