libretto.lambda

package libretto.lambda

Members list

Packages

Type members

Classlikes

trait ArrowMap[-->[_, _], ->>[_, _], F[_, _]]

Attributes

Supertypes
class Object
trait Matchable
class Any
sealed trait Bin[<*>[_, _], T[_], F[_], A]

Binary tree with leafs holding values of types F[X], F[Y], ... The complete structure of the tree is expressed by the type A, using the tags for branches and leafs.

Binary tree with leafs holding values of types F[X], F[Y], ... The complete structure of the tree is expressed by the type A, using the tags for branches and leafs.

Type parameters

<*>

tag for branches

A

captures the complete structure of the tree

F

value type of leafs. Each leaf holds a value of type F[T], for some type T.

T

tag for leafs.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Branch[<*>, T, F, A, B]
class Leaf[<*>, T, F, A]
object Bin

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Bin.type
sealed trait CapturingFun[-->[_, _], |*|[_, _], F[_], A, B]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Closure[-->, |*|, F, X, A, B]
class NoCapture[-->, |*|, F, A, B]
object CapturingFun

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
trait Cartesian[|*|[_, _], F[_]] extends Zippable[|*|, F]

Attributes

Supertypes
trait Zippable[|*|, F]
class Object
trait Matchable
class Any
trait Category[->[_, _]] extends Semigroupoid[->]

Attributes

Supertypes
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Known subtypes
trait SemigroupalCategory[->, |*|]
trait ClosedSemigroupalCategory[->, |*|, -->]
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait MonoidalCategory[->, |*|, One]
trait SymmetricMonoidalCategory[->, |*|, One]
Show all
trait ClosedSemigroupalCategory[->[_, _], |*|[_, _], -->[_, _]] extends SemigroupalCategory[->, |*|]

Attributes

Supertypes
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait ClosedSymmetricMonoidalCategory[-⚬[_, _], |*|[_, _], One, =⚬[_, _]] extends ClosedSymmetricSemigroupalCategory[-⚬, |*|, =⚬], SymmetricMonoidalCategory[-⚬, |*|, One]

Attributes

Supertypes
trait SymmetricMonoidalCategory[-⚬, |*|, One]
trait MonoidalCategory[-⚬, |*|, One]
trait ClosedSymmetricSemigroupalCategory[-⚬, |*|, =⚬]
trait SymmetricSemigroupalCategory[-⚬, |*|]
trait ClosedSemigroupalCategory[-⚬, |*|, =⚬]
trait SemigroupalCategory[-⚬, |*|]
trait Category[-⚬]
trait Semigroupoid[-⚬]
class Object
trait Matchable
class Any
Show all
trait ClosedSymmetricSemigroupalCategory[->[_, _], |*|[_, _], -->[_, _]] extends ClosedSemigroupalCategory[->, |*|, -->], SymmetricSemigroupalCategory[->, |*|]

Attributes

Supertypes
trait ClosedSemigroupalCategory[->, |*|, -->]
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
class ContextImpl[-⚬[_, _], |*|[_, _], V](parent: Option[ContextImpl[-⚬, |*|, V]])

Attributes

Supertypes
class Object
trait Matchable
class Any
sealed trait Focus[|*|[_, _], F[_]]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Fst[|*|, F, B]
class Id[|*|]
class Snd[|*|, F, A]
object Focus

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Focus.type
trait InversiveMonoidalCategory[->[_, _], |*|[_, _], One, -[_]] extends InversiveSemigroupalCategory[->, |*|, -], SymmetricMonoidalCategory[->, |*|, One]

Attributes

Supertypes
trait SymmetricMonoidalCategory[->, |*|, One]
trait MonoidalCategory[->, |*|, One]
trait InversiveSemigroupalCategory[->, |*|, -]
trait ClosedSymmetricSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait ClosedSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
trait InversiveSemigroupalCategory[->[_, _], |*|[_, _], -[_]] extends ClosedSymmetricSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]

Attributes

Supertypes
trait ClosedSymmetricSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait ClosedSemigroupalCategory[->, |*|, [x, y] =>> -[x] |*| y]
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait InversiveMonoidalCategory[->, |*|, One, -]
trait Lambdas[-⚬[_, _], |*|[_, _], V]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class LambdasImpl[-⚬, |*|, V]
object Lambdas

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Lambdas.type
opaque class LambdasImpl[-⚬[_, _], |*|[_, _], V](using ssc: SymmetricSemigroupalCategory[-⚬, |*|], inj: BiInjective[|*|]) extends Lambdas[-⚬, |*|, V]

Attributes

Supertypes
trait Lambdas[-⚬, |*|, V]
class Object
trait Matchable
class Any
trait MonoidalCategory[->[_, _], |*|[_, _], One] extends SemigroupalCategory[->, |*|]

Attributes

Supertypes
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait SymmetricMonoidalCategory[->, |*|, One]
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait ObjectMap[|*|[_, _], <*>[_, _], F[_, _]] extends Functional[F]

Type parameters

<*>

monoidal product in the target "category"

F

mapping on objects. f: F[A, X] means that object A of the source "category" is mapped to object X in the target "category".

|*|

monoidal product in the source "category"

Attributes

Supertypes
trait Functional[F]
class Object
trait Matchable
class Any
sealed trait Projection[|*|[_, _], P, Q]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Id[|*|, P]
trait Proper[|*|, P, Q]
class DiscardFst[|*|, A, B, B0]
class DiscardSnd[|*|, A, B, A0]
trait Par[|*|, P1, P2, Q1, Q2]
class Both[|*|, P1, P2, Q1, Q2]
class Fst[|*|, P, Q, B]
class Snd[|*|, A, P, Q]
Show all
object Projection

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Projection.type
trait SemigroupalCategory[->[_, _], |*|[_, _]] extends Category[->]

Attributes

Supertypes
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Known subtypes
trait ClosedSemigroupalCategory[->, |*|, -->]
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait MonoidalCategory[->, |*|, One]
trait SymmetricMonoidalCategory[->, |*|, One]
Show all
trait Semigroupoid[->[_, _]]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Category[->]
trait SemigroupalCategory[->, |*|]
trait ClosedSemigroupalCategory[->, |*|, -->]
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait MonoidalCategory[->, |*|, One]
trait SymmetricMonoidalCategory[->, |*|, One]
Show all
class Shuffle[|*|[_, _]](using inj: BiInjective[|*|])

Attributes

Supertypes
class Object
trait Matchable
class Any
object Shuffled

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Shuffled.type
sealed abstract class Shuffled[->[_, _], |*|[_, _]](using x$1: BiInjective[|*|])

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
sealed trait Sink[-->[_, _], <+>[_, _], A, B]

A collection of arrows of the form Ai --> B, with A = A1 <+> ... <+> An.

A collection of arrows of the form Ai --> B, with A = A1 <+> ... <+> An.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Arrow[-->, <+>, A, B]
class Join[-->, <+>, A1, A2, B]
object Sink

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Sink.type
trait SymmetricMonoidalCategory[->[_, _], |*|[_, _], One] extends SymmetricSemigroupalCategory[->, |*|], MonoidalCategory[->, |*|, One]

Attributes

Supertypes
trait MonoidalCategory[->, |*|, One]
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait SymmetricSemigroupalCategory[->[_, _], |*|[_, _]] extends SemigroupalCategory[->, |*|]

Attributes

Supertypes
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveSemigroupalCategory[->, |*|, -]
trait InversiveMonoidalCategory[->, |*|, One, -]
trait SymmetricMonoidalCategory[->, |*|, One]
object Tupled

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Tupled.type
object UnhandledCase

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class UnhandledCase(desc: String, pos: SourcePos) extends Exception

Attributes

Companion
object
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class Var[P, A]

Value parameters

P

representation of variable's origin (e.g. source code position)

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
opaque object Var

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Var.type

Types

opaque type Tupled[|*|[_, _], F[_], A]