LambdasOne

libretto.lambda.LambdasOne
See theLambdasOne companion object
class LambdasOne[-⚬[_, _], |*|[_, _], One, Var[_], VarSet](varSynthesizer: VarSynthesizer[Var, |*|])(using inj: BiInjective[|*|], variables: Variable[Var, VarSet], smc: SymmetricMonoidalCategory[-⚬, |*|, One]) extends Lambdas[-⚬, |*|, Var, VarSet, Error[VarSet], LinearityViolation[VarSet]]

Attributes

Companion:
object
Graph
Supertypes
trait Lambdas[-⚬, |*|, Var, VarSet, Error[VarSet], LinearityViolation[VarSet]]
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

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait Exprs
class Object
trait Matchable
class Any
Self type
Expr.type
sealed trait Expr[A]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object VArr extends VArrs

Attributes

Graph
Supertypes
trait VArrs
class Object
trait Matchable
class Any
Self type
VArr.type

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 Error = Error[VarSet]
override type VArr[A, B] = VArr[A, B]

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
def compileConst[B](expr: Expr[B]): Either[Error, One -⚬ B]

Inherited methods

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

Attributes

Inherited from:
Lambdas

Concrete fields

val Error: Error.type
val lambdas: LambdasImpl[-⚬, |*|, Var, VarSet, Error, LinearityViolation]

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