org.specs2.control.eff
Effects of type R, returning a value of type A
It is implemented as a "Free-er" monad with extensible effects:
Arrs
The monad implementation for this type is really simple:
point
bind
Important:
The list of continuations is NOT implemented as a type sequence but simply as a Vector[Any => Eff[R, Any]]
This means that various .asInstanceOf are present in the implementation and could lead to burns and severe harm. Use with caution!
.asInstanceOf
http://okmij.org/ftp/Haskell/extensible/more.pdf
Effects of type R, returning a value of type A
It is implemented as a "Free-er" monad with extensible effects:
Arrs
typeThe monad implementation for this type is really simple:
point
is Purebind
simply appends the binding function to theArrs
continuationImportant:
The list of continuations is NOT implemented as a type sequence but simply as a Vector[Any => Eff[R, Any]]
This means that various
.asInstanceOf
are present in the implementation and could lead to burns and severe harm. Use with caution!http://okmij.org/ftp/Haskell/extensible/more.pdf