Eval

neotype.eval.Eval
See theEval companion trait
object Eval

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Eval.type

Members list

Type members

Classlikes

case class Apply0[A, B](eval: Eval[A], op: A => B, show: String => String) extends Eval[B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[B]
class Object
trait Matchable
class Any
Show all
case class Apply1[A, B, C](eval: Eval[A], rhs: Eval[B], op: (A, B) => C, show: (String, String) => String) extends Eval[C]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[C]
class Object
trait Matchable
class Any
Show all
case class Apply2[A, B, C, D](eval: Eval[A], lhs: Eval[B], rhs: Eval[C], op: (A, B, C) => D, show: (String, String, String) => String) extends Eval[D]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[D]
class Object
trait Matchable
class Any
Show all
case class Apply3[A, B, C, D, E](eval: Eval[A], arg1: Eval[B], arg2: Eval[C], arg3: Eval[D], op: (A, B, C, D) => E, show: (String, String, String, String) => String) extends Eval[E]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[E]
class Object
trait Matchable
class Any
Show all
case class EvalApply[A](eval: Eval[A], args: List[Eval[_]]) extends Eval[Any]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[Any]
class Object
trait Matchable
class Any
Show all
case class EvalBlock[A](defs: List[EvalDef[_]], eval: Eval[A]) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all
object EvalClosure

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class EvalClosure1[A](ctx: Map[String, Any], p1: String, body: Eval[A]) extends Eval[A], Any => Any

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Any => Any
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class EvalClosure2[A](ctx: Map[String, Any], p1: String, p2: String, body: Eval[A]) extends Eval[A], (Any, Any) => Any

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait (Any, Any) => Any
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class EvalConstruct[A](constructor: (List[Any]) => A, args: List[Eval[_]]) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class EvalStringContext[A](parts: List[String], args: List[Eval[_]]) extends Eval[String]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[String]
class Object
trait Matchable
class Any
Show all
case class IfThenElse[A](cond: Eval[Boolean], thenEval: Eval[A], elseEval: Eval[A]) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class MatchExpr[A](expr: Eval[A], cases: List[EvalMatchCase[A]]) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class ProductSelect[A](eval: Eval[A], field: String) extends Eval[Any]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[Any]
class Object
trait Matchable
class Any
Show all
case class ProductValue(name: String, fields: Map[String, Eval[_]]) extends Eval[Any]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[Any]
class Object
trait Matchable
class Any
Show all
case class Reference[A](name: String) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all
case class Value[A](value: A) extends Eval[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Eval[A]
class Object
trait Matchable
class Any
Show all

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def call(op: String): (String, String) => String
def call2(op: String): (String, String, String) => String
def call3(op: String): (String, String, String, String) => String
def infix(op: String): (String, String) => String
def nullary(op: String): String => String
def prefix(op: String): String => String
def renderValue(value: Any): String
def unapply[A](expr: Expr[A])(using Quotes): Option[Eval[A]]