libretto

package libretto

Type members

Classlikes

abstract class AbstractStarterKit(val dsl: ScalaDSL, val runner0: (ScheduledExecutorService, Executor) => ScalaRunner[ScalaDSL, [T] =>> Future[T]])
sealed trait Async[A]
Companion
object
object Async
Companion
class
Companion
class
class BinarySearchTree[DSL <: ScalaDSL, CLib <: CoreLib[DSL], SLib <: ScalaLib[DSL, CLib]](val dsl: DSL, val coreLib: CLib & CoreLib[DSL], val scalaLib: SLib & ScalaLib[DSL, CLib & CoreLib[DSL]])
Companion
object
trait ClosedDSL extends CoreDSL

Extension of CoreDSL that adds support for "functions as data" (=⚬). In other words, it makes CoreDSL.-⚬ a ''closed'' monoidal category.

Extension of CoreDSL that adds support for "functions as data" (=⚬). In other words, it makes CoreDSL.-⚬ a ''closed'' monoidal category.

object ClosedLib
Companion
class
class ClosedLib[DSL <: ClosedDSL, CLib <: CoreLib[DSL]](val dsl: DSL, val coreLib: CLib & CoreLib[DSL])
Companion
object
trait CoreDSL
object CoreLib
Companion
class
class CoreLib[DSL <: CoreDSL](val dsl: DSL)
Companion
object
object CoreStreams
Companion
class
class CoreStreams[DSL <: CoreDSL, Lib <: CoreLib[DSL]](val dsl: DSL, val lib: Lib & CoreLib[DSL])
Companion
object
trait CrashDSL extends CoreDSL
object CrashLib
Companion
class
class CrashLib[DSL <: CrashDSL, Lib <: CoreLib[DSL]](val dsl: DSL, val lib: Lib & CoreLib[DSL])
Companion
object
case class Equal[A](a1: A, a2: A)

Used to document laws in a typechecked manner. The purpose of expression Equal(f, g) is just to ensure that f and g compile and are of the same type.

Used to document laws in a typechecked manner. The purpose of expression Equal(f, g) is just to ensure that f and g compile and are of the same type.

trait ForAll[+F[_]]
trait InvertDSL extends ClosedDSL
object InvertLib
Companion
class
class InvertLib[CoreLib <: CoreLib[_ <: InvertDSL]](val coreLib: CoreLib)
Companion
object
trait Runner[DSL <: CoreDSL, F[_]]
trait ScalaDSL extends TimerDSL with CrashDSL with InvertDSL

Supports manipulating Scala values via pure Scala functions. Also extends InvertDSL (and thus ClosedDSL), TimerDSL and CrashDSL, since these are expected to be possible on a target platform that already supports Scala functions.

Supports manipulating Scala values via pure Scala functions. Also extends InvertDSL (and thus ClosedDSL), TimerDSL and CrashDSL, since these are expected to be possible on a target platform that already supports Scala functions.

object ScalaLib
Companion
class
class ScalaLib[DSL <: ScalaDSL, CoreLib <: CoreLib[DSL]](val dsl: DSL, val coreLib: CoreLib & CoreLib[DSL])
Companion
object
trait ScalaRunner[DSL <: ScalaDSL, F[_]] extends Runner[DSL, F]
object ScalaStreams
Companion
class
class ScalaStreams[DSL <: ScalaDSL, Lib <: CoreLib[DSL], SLib <: ScalaLib[DSL, Lib], Streams <: CoreStreams[DSL, Lib]](val dsl: DSL, val coreLib: Lib & CoreLib[DSL], val scalaLib: SLib & ScalaLib[DSL, Lib & CoreLib[DSL]], val coreStreams: Streams & CoreStreams[DSL, Lib & CoreLib[DSL]])
Companion
object
abstract class StarterApp extends StarterAppBase
abstract class StarterAppBase
abstract class StarterAppScala[A] extends StarterAppBase
object StarterKit extends StarterKit
Companion
class
Companion
object
trait TimerDSL extends CoreDSL
object unapply

Types

type [F[_]] = ForAll[F]