object asynchronous
The namespace that contains Do.
Author:
杨博 (Yang Bo) <pop.atry@gmail.com>
- Source
- asynchronous.scala
- Grouped
- Alphabetic
- By Inheritance
- asynchronous
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- implicit final class AsynchronousDoOps [Value] extends AnyRef
-
type
Do
[+Value] = asynchronous.OpacityTypes.Do[Value]
An universal monadic data type that consists of many useful monad transformers.
An universal monadic data type that consists of many useful monad transformers.
Features of
Do- exception handling
- automatic resource management
- reference counting
- asynchronous programming
- parallel computing
- Note
This
Dotype is an opacity alias toUnitContinuation[Releasable[UnitContinuation, Try[Value]]].- See also
Do companion object for all type classes and helper functions for this
Dotype.
-
type
ParallelDo
[Value] = AnyRef { ... /* 2 definitions in type refinement */ }
ParallelDoand Do can be converted to each other via scalaz.Tags.Parallel. Given a Do,import com.thoughtworks.raii.asynchronous.{Do, ParallelDo} import java.net._ import java.io._ val originalDoInput: Do[InputStream] = Do.scoped(new URL("http://thoughtworks.com/").openStream())
when converting it to
ParallelDoand converting it back,import scalaz.Tags.Parallel val parallelDoInput: ParallelDo[InputStream] = Parallel(originalDoInput) val Parallel(doInput) = parallelDoInput
then the Do should be still the original instance.
doInput should be(originalDoInput)
- See also
ParallelDo.doParallelApplicative for the Applicative type class for parallel computing.
Example:
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def asynchronousDoMonadErrorInstances: MonadError[Do, Throwable]
-
implicit
def
asynchronousDoParallelApplicative(implicit throwableSemigroup: Semigroup[Throwable]): Applicative[ParallelDo]
Returns an Applicative type class for parallel computing.
Returns an Applicative type class for parallel computing.
- Note
This type class requires a Semigroup to combine multiple
Throwables into one, in the case of multiple tasks report errors in parallel.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
val
opacityTypes: OpacityTypes
The type-level Pimpl in order to prevent the Scala compiler seeing the actual type of Do
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
Do
The companion object of Do