LambdasImpl

libretto.lambda.LambdasImpl
class LambdasImpl[-⚬[_, _], |*|[_, _], Var[_], VarSet, E, LE](using ssc: SymmetricSemigroupalCategory[-⚬, |*|], inj: BiInjective[|*|], variables: Variable[Var, VarSet], errors: ErrorFactory[E, LE, VarSet]) extends Lambdas[-⚬, |*|, Var, VarSet, E, LE]

Attributes

Graph
Supertypes
trait Lambdas[-⚬, |*|, Var, VarSet, E, LE]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

object AbstractFun extends AbstractFuns

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object Expr extends Exprs

Attributes

Graph
Supertypes
trait Exprs
class Object
trait Matchable
class Any
Self type
Expr.type
object VArr extends VArrs

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait VArrs
class Object
trait Matchable
class Any
Self type
VArr.type
sealed trait VArr[A, B]

Arrow interspersed with intermediate Vars. Non-linear: includes projections and multiple occurrences of the same variable.

Arrow interspersed with intermediate Vars. Non-linear: includes projections and multiple occurrences of the same variable.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Par[A1, A2, B1, B2]
trait VarDefining[A, B]
class Id[A]
class Map[A, B, C]
class Prj1[A, B1, B2]
class Prj2[A, B1, B2]
class Zip[A1, A2, B1, B2]

Inherited classlikes

Attributes

Inherited from:
Lambdas
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object AbstractFun.type
object AbstractFun.type
trait Exprs

Attributes

Inherited from:
Lambdas
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Expr.type
object Expr.type
trait VArrs

Attributes

Inherited from:
Lambdas
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object VArr.type
object VArr.type
object Vars

Attributes

Inherited from:
Lambdas
Graph
Supertypes
class Object
trait Matchable
class Any

Types

override type AbstractFun[A, B] = Shuffled[A, B]
type Expr[A] = VArr[_, A]

Inherited types

type Abstracted[A, B] = Abstracted[Expr, |*|, AbstractFun, LE, A, B]

Attributes

Inherited from:
Lambdas
final type Tupled[F[_], A] = Tupled[|*|, F, A]

Attributes

Inherited from:
Lambdas
final type Vars[A] = Tupled[Var, A]

Attributes

Inherited from:
Lambdas

Value members

Concrete methods

override def abs[A, B](expr: Expr[B], boundVar: Var[A]): Abstracted[A, B]

Attributes

Definition Classes

Inherited methods

def abs[A, B](f: Expr[A] => Expr[B], bindVar: Var[A]): Abstracted[A, B]

Attributes

Inherited from:
Lambdas

Concrete fields

val shuffled: Shuffled[-⚬, |*|]

Extensions

Inherited extensions

extension [A](a: Expr[A])
def map[B](f: A -⚬ B)(resultVar: Var[B]): Expr[B]

Attributes

Inherited from:
Lambdas
def par[B](b: Expr[B]): Expr[A |*| B]

Attributes

Inherited from:
Lambdas

Attributes

Inherited from:
Lambdas
def zip[B](b: Expr[B])(resultVar: Var[A |*| B]): Expr[A |*| B]

Attributes

Inherited from:
Lambdas
extension [A, B](f: AbstractFun[A, B])
def fold: A -⚬ B

Attributes

Inherited from:
Lambdas
extension [A, B](f: VArr[A, B])

Attributes

Inherited from:
Lambdas
def map[C](g: B -⚬ C)(resultVar: Var[C]): VArr[A, C]

Attributes

Inherited from:
Lambdas

Attributes

Inherited from:
Lambdas
def toExpr: Expr[B]

Attributes

Inherited from:
Lambdas
def zip[A2, B2](g: VArr[A2, B2])(resultVar: Var[B |*| B2]): VArr[A |*| A2, B |*| B2]

Attributes

Inherited from:
Lambdas
extension [A](vars: Vars[A])
def toSet(using variables: Variable[Var, VarSet]): VarSet

Attributes

Inherited from:
Lambdas