libretto

package libretto

Type members

Classlikes

abstract class AbstractStarterKit(val dsl: ScalaDSL, val runner0: (ScheduledExecutorService, Executor) => ScalaRunner[ScalaDSL, Future])
sealed trait Async[A]
Companion:
object
object Async
Companion:
class
trait BiInjective[F[_, _]]
Companion:
object
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
Companion:
class
class CoreStreams[DSL <: CoreDSL, Lib <: CoreLib[DSL]](val dsl: DSL, val lib: Lib & CoreLib[DSL])
Companion:
object
trait CrashDSL extends CoreDSL
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]
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]