ConsoleEffect

turbolift.effects.ConsoleEffect
See theConsoleEffect companion object

Base trait for custom instances of Console effect.

case object MyConsole extends ConsoleEffect
// optional:
type MyConsole = MyConsole.type

Effectful version of scala.Console

Attributes

See also
Companion
object
Graph
Supertypes
trait AnsiColor
trait Signature
class Object
trait Matchable
class Any
Show all
Known subtypes
object Console
Self type

Members list

Type members

Classlikes

object handlers

Predefined handlers for this effect.

Predefined handlers for this effect.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
handlers.type

Inherited types

final override type ThisEffect = Effect.this.type

Attributes

Inherited from:
Effect
type ThisSignature[U] = ConsoleSignature & Signature { type ThisEffect = U; }

API for defining custom effects.

API for defining custom effects.

Attributes

Inherited from:
Effect

Value members

Concrete methods

def handler: Handler[Identity, Identity, thiz.type, IO]
Extension method from ConsoleEffect

Alias of the default handler for this effect.

Alias of the default handler for this effect.

Defined as an extension, to allow custom redefinitions without restrictions imposed by overriding

Attributes

final override def printErr(text: String): Computation[Unit, this.type]

Attributes

Definition Classes
final override def printLine(text: String): Computation[Unit, this.type]

Attributes

Definition Classes
final override def printLineErr(text: String): Computation[Unit, this.type]

Attributes

Definition Classes
final def println(text: String): Computation[Unit, this.type]
final def printlnErr(text: String): Computation[Unit, this.type]
final override def readChar: Computation[Option[Char], this.type]

Attributes

Definition Classes
final override def readLine: Computation[String, this.type]

Attributes

Definition Classes
final def readln: Computation[String, this.type]

Inherited methods

final def &![Fx2 <: Signature](fx2: Fx2): Combine2[Effect.this.type, fx2.type]

API for defining custom handlers.

API for defining custom handlers.

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Example of application: implement RWS-alike handler for Reader &! Writer &! State composition of effects.

Attributes

Inherited from:
Effect
final inline def perform[A, U <: ThisEffect](inline f: ThisSignature[U] => Computation[A, U]): Computation[A, U]

API for defining custom effects.

API for defining custom effects.

Embeds an invocation of this Signature's method into the Computation monad. This provides mechanism for separation between syntax an semantics of effects.

Attributes

Inherited from:
Effect
final def performNoInline[A, U <: ThisEffect](f: ThisSignature[U] => Computation[A, U]): Computation[A, U]

API for defining custom effects.

API for defining custom effects.

Attributes

Inherited from:
Effect

Inherited fields

final val BLACK: "\u001b[30m"

Attributes

Inherited from:
AnsiColor
final val BLACK_B: "\u001b[40m"

Attributes

Inherited from:
AnsiColor
final val BLUE: "\u001b[34m"

Attributes

Inherited from:
AnsiColor
final val BLUE_B: "\u001b[44m"

Attributes

Inherited from:
AnsiColor
final val BOLD: "\u001b[1m"

Attributes

Inherited from:
AnsiColor
final val CYAN: "\u001b[36m"

Attributes

Inherited from:
AnsiColor
final val CYAN_B: "\u001b[46m"

Attributes

Inherited from:
AnsiColor
final val GREEN: "\u001b[32m"

Attributes

Inherited from:
AnsiColor
final val GREEN_B: "\u001b[42m"

Attributes

Inherited from:
AnsiColor
final val INVISIBLE: "\u001b[8m"

Attributes

Inherited from:
AnsiColor
final val MAGENTA: "\u001b[35m"

Attributes

Inherited from:
AnsiColor
final val MAGENTA_B: "\u001b[45m"

Attributes

Inherited from:
AnsiColor
final val RED: "\u001b[31m"

Attributes

Inherited from:
AnsiColor
final val RED_B: "\u001b[41m"

Attributes

Inherited from:
AnsiColor
final val RESET: "\u001b[0m"

Attributes

Inherited from:
AnsiColor
final val REVERSED: "\u001b[7m"

Attributes

Inherited from:
AnsiColor
final val UNDERLINED: "\u001b[4m"

Attributes

Inherited from:
AnsiColor
final val WHITE: "\u001b[37m"

Attributes

Inherited from:
AnsiColor
final val WHITE_B: "\u001b[47m"

Attributes

Inherited from:
AnsiColor
final val YELLOW: "\u001b[33m"

Attributes

Inherited from:
AnsiColor
final val YELLOW_B: "\u001b[43m"

Attributes

Inherited from:
AnsiColor
val impl: Impl[this.type]

API for defining custom handlers.

API for defining custom handlers.

Helper object providing type definitions to be used for implementing Interpreters for this effect.

Attributes

Inherited from:
Effect

Exports

Inherited defined exports

final type ThisHandler = [F[_], G[_], N] =>> this.impl.ThisHandler[F, G, N]
Exported from Impl

Attributes

Inherited from:
Effect