Dsl

object Dsl extends LowPriorityDsl0
Companion
class
trait LowPriorityDsl0
trait LowPriorityDsl1
class Object
trait Matchable
class Any

Type members

Classlikes

object AsKeyword
Companion
class
trait AsKeyword[From, Keyword, Value] extends From => Keyword
Companion
object
Companion
class
sealed

The reified for-comprehension expression.

The reified for-comprehension expression.

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

Companion
object
Companion
class
sealed
trait HasValueOrElement[KeywordOrView, ValueOrElement]
Companion
object
object Keyword
object Lift extends LowPriorityLift0
Companion
class
@FunctionalInterface
trait Lift[From, +To] extends From => To
Companion
object
trait PolyCont[-Keyword, Domain, +Value]
object Run
Companion
class
trait Run[Keyword, Domain, Value] extends Keyword => Domain
Companion
object
object TryCatch extends LowPriorityTryCatch
Companion
class
@implicitNotFound("The `try` ... `catch` expression cannot contain !-notation inside a function that returns ${OuterDomain}.")
trait TryCatch[Value, OuterDomain, BlockDomain]
Companion
object
Companion
class
@implicitNotFound("The `try` ... `catch` ... `finally` expression cannot contain !-notation inside a function that returns ${OuterDomain}.")
trait TryCatchFinally[Value, OuterDomain, BlockDomain, FinalizerDomain]

The type class to support try ... catch ... finally expression for OutputDomain.

The type class to support try ... catch ... finally expression for OutputDomain.

!-notation is allowed by default for ? !! Throwable and Future domains, with the help of this type class.

Companion
object
object TryFinally extends LowPriorityTryFinally
Companion
class
@implicitNotFound("The `try` ... `finally` expression cannot contain !-notation inside a function that returns ${OuterDomain}.")
trait TryFinally[Value, OuterDomain, BlockDomain, FinalizerDomain]
Companion
object

Types

Value members

Concrete methods

def apply[Keyword, Domain, Value](implicit typeClass: Dsl[Keyword, Domain, Value]): Dsl[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

given deriveFunction1Dsl: PolyCont[Keyword, Domain, Value]
Inherited from
LowPriorityDsl1

Extensions

Extensions

extension [From, Keyword, Value](keyword: From)(using asKeyword: SearchIsKeywordFirst[From, Keyword, Value])
@inline
def as[Domain](using run: Run[Keyword, Domain, Value]): Domain
@inline
def to[Domain[_]](using run: Run[Keyword, Domain[Value], Value]): Domain[Value]
extension [Keyword, Domain, Value](keyword: Keyword)
@inline
def cpsApply(using dsl: PolyCont[Keyword, Domain, Value])(handler: Value => Domain)(using DummyImplicit): Domain

Inherited extensions

extension [From, Keyword, Value](from: From)
transparent inline
def unary_!(using inline asKeyword: SearchIsKeywordFirst[From, Keyword, Value]): Value
Inherited from
LowPriorityDsl0
extension [KeywordOrView, Element](keywordOrView: KeywordOrView)(using hasValueOrElement: HasValueOrElement[KeywordOrView, Element])
def flatMap[Mapped <: Container[MappedElement], MappedElement](flatMapper: Element => Mapped): FlatMap[KeywordOrView, Element, Mapped, MappedElement]
Inherited from
LowPriorityDsl0
def foreach[Nested <: DiscardValue](action: Element => Nested): FlatForeach[KeywordOrView, Element, Nested]
Inherited from
LowPriorityDsl0
def map[Mapped](mapper: Element => Mapped): Map[KeywordOrView, Element, Mapped]
Inherited from
LowPriorityDsl0
extension [KeywordOrView, Element](keywordOrView: KeywordOrView)
def foreach(using hasValueOrElement: HasValueOrElement[KeywordOrView, Element])(action: Element => Unit): Foreach[KeywordOrView, Element]
Inherited from
LowPriorityDsl0
def withFilter(using hasValueOrElement: HasValueOrElement[KeywordOrView, Element])(filter: Element => Boolean): WithFilter[KeywordOrView, Element]
Inherited from
LowPriorityDsl0

Implicits

Implicits

implicit
def derivedTailRecDsl[Keyword, TailRecDomain, Domain, Value](implicit isTailRecDomain: TailRecDomain =:= TailRec[Domain], restDsl: Dsl[Keyword, Domain, Value]): Dsl[Keyword, TailRecDomain, Value]
implicit
def derivedThrowableTailRecDsl[Keyword, TaskDomain, LeftDomain, Value](implicit isTaskDomain: TaskDomain =:= TailRec[LeftDomain] !! Throwable, restDsl: Dsl[Keyword, LeftDomain !! Throwable, Value]): Dsl[Keyword, TaskDomain, Value]

Inherited implicits

implicit
def throwableContinuationDsl[Keyword, ThrowableContinuationDomain, LeftDomain, Value](implicit isThrowableContinuationDomain: ThrowableContinuationDomain =:= LeftDomain !! Throwable, restDsl: Dsl[Keyword, LeftDomain, Value]): Dsl[Keyword, ThrowableContinuationDomain, Value]
Inherited from
LowPriorityDsl0