Eval

neotype.eval.Eval
See theEval companion object
enum Eval[A]

Attributes

Companion
object
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
case Apply0[A, B]
case Apply1[A, B, C]
case Apply2[A, B, C, D]
case EvalApply[A]
case EvalBlock[A]
case Reference[A]
case MatchExpr[A]
case IfThenElse[A]
case EvalClosure[A]
Show all

Members list

Type members

Enum entries

final case class Apply0[A, B](eval: Eval[A], op: A => B, show: String => String) extends Eval[B]
final case class Apply1[A, B, C](eval: Eval[A], rhs: Eval[B], op: (A, B) => C, show: (String, String) => String) extends Eval[C]
final 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]
final case class EvalApply[A](eval: Eval[A], args: List[Eval[_]]) extends Eval[Any]
final case class EvalBlock[A](defs: List[EvalDef[_]], eval: Eval[A]) extends Eval[A]
final case class EvalClosure[A](ctx: Map[String, Any], params: List[String], body: Eval[A]) extends Eval[A]
final case class EvalStringContext(parts: List[String], args: List[Eval[_]]) extends Eval[String]
final case class IfThenElse[A](cond: Eval[Boolean], thenEval: Eval[A], elseEval: Eval[A]) extends Eval[A]
final case class MatchExpr[A](expr: Eval[A], cases: List[EvalMatchCase[A]]) extends Eval[A]
final case class Reference[A](name: String) extends Eval[A]
final case class Value[A](value: A)