$Ops

libretto.CoreDSL.$Ops
trait $Ops

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait FunExprOps

Members list

Value members

Abstract methods

def map[A, B](a: $[A])(f: A -⚬ B)(pos: SourcePos)(using LambdaContext): $[B]
def nonLinear[A](a: $[A])(split: Option[A -⚬ A |*| A], ditch: Option[A -⚬ One])(pos: SourcePos)(using LambdaContext): $[A]
def one(using SourcePos, LambdaContext): $[One]
def switchEither[A, B, C](ab: $[A |+| B], f: LambdaContext ?=> Either[$[A], $[B]] => $[C])(pos: SourcePos)(using LambdaContext): $[C]
def unzip[A, B](ab: $[A |*| B])(pos: SourcePos)(using LambdaContext): ($[A], $[B])
def zip[A, B](a: $[A], b: $[B])(pos: SourcePos)(using LambdaContext): $[A |*| B]

Concrete methods

def eliminateFirst[A](unit: $[One], a: $[A])(pos: SourcePos)(using LambdaContext): $[A]
def eliminateSecond[A](a: $[A], unit: $[One])(pos: SourcePos)(using LambdaContext): $[A]
def joinTwo(a: $[Done], b: $[Done])(pos: SourcePos)(using LambdaContext): $[Done]