Dsl

object Dsl
class Object
trait Matchable
class Any
Dsl.type

Type members

Classlikes

object Composed
object Derived

Includes Dsls derived from other Dsls for the same Keyword in a simpler domain. For example, a Dsl.Derived.StackUnsafe for keywords.Yield in the domain Vector[Int] !! String is derived from the Dsl for keywords.Yield in the domain Vector[Int].

Includes Dsls derived from other Dsls for the same Keyword in a simpler domain. For example, a Dsl.Derived.StackUnsafe for keywords.Yield in the domain Vector[Int] !! String is derived from the Dsl for keywords.Yield in the domain Vector[Int].

object For
Companion:
class
sealed trait For

The AST returned from a for...yield or a for...do expression.

The AST returned from a for...yield or a for...do expression.

Note that a For does not directly support !-notation. Instead, keywords.Each.ToView is used to convert a For to a Keyword that supports !-notation.

Companion:
object
Companion:
class
trait IsKeyword[Keyword, Value] extends HasValueOrElement[Keyword, Value]
Companion:
class
Companion:
object
object Keyword
object Lift
Companion:
class
@FunctionalInterface
trait Lift[From, +To] extends From => To
Companion:
object
object Original
object Run
object Searching

Types

opaque type Composed[-Keyword, Domain, +Value]

An Dsl for a control flow Keyword, composed of other Dsls for subtree of the Keyword. For example, a Dsl.Composed for keywords.If is composed of the Dsl for the condition, the Dsl for the then clause, and the Dsl for the else clause.

An Dsl for a control flow Keyword, composed of other Dsls for subtree of the Keyword. For example, a Dsl.Composed for keywords.If is composed of the Dsl for the condition, the Dsl for the then clause, and the Dsl for the else clause.

opaque type Original[-Keyword, Domain, +Value]

An original Dsl for a Keyword, i.e. neither Derived.StackSafe nor Derived.StackUnsafe nor Composed.

An original Dsl for a Keyword, i.e. neither Derived.StackSafe nor Derived.StackUnsafe nor Composed.

opaque type Run[Keyword, Domain, Value]
opaque type Searching[-Keyword, Domain, +Value]

Value members

Concrete methods

def apply[Keyword, Domain, Value]: (Keyword, Value => Domain) => Domain =:= (Keyword, Domain) => Value
@compileTimeOnly("This method must be called only inside a `reset` or `*` code block.")
def shift[Keyword, Value](keyword: Keyword): Value

Givens

Inherited givens

Inherited from:
LowPriorityDsl0

Extensions

Extensions

extension [Keyword, Value](from: Keyword)
transparent inline def unary_!(using inline asKeyword: IsKeyword[Keyword, Value]): Value
extension [Keyword, Value](keyword: Keyword)
def cpsApply[Domain](using dsl: Searching[Keyword, Domain, Value])(handler: Value => Domain): Domain