package keywords
Contains built-in domain-specific Keywords and their corresponding interpreters.
- Source
- package.scala
- Alphabetic
- By Inheritance
- keywords
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait AsynchronousIo[Value] extends Keyword[AsynchronousIo[Value], Value]
-
final
case class
AutoClose[R <: AutoCloseable](open: () ⇒ R) extends AnyVal with Keyword[AutoClose[R], R] with Product with Serializable
Author:
杨博 (Yang Bo)
-
final
case class
Catch[Domain, Value](block: !![Domain, Value], catcher: Catcher[!![Domain, Value]]) extends Keyword[Catch[Domain, Value], Value] with Product with Serializable
Author:
杨博 (Yang Bo)
-
final
case class
Each[Element](elements: Traversable[Element]) extends Keyword[Each[Element], Element] with Product with Serializable
Author:
杨博 (Yang Bo)
- final case class Fork[Element](elements: Traversable[Element]) extends AnyVal with Keyword[Fork[Element], Element] with Product with Serializable
-
sealed
case class
Hang[Value]() extends Keyword[Hang[Value], Value] with Product with Serializable
Author:
杨博 (Yang Bo)
-
final
case class
Monadic[F[*], A](fa: F[A]) extends Keyword[Monadic[F, A], A] with Product with Serializable
A keyword for creating monadic control flow.
A keyword for creating monadic control flow.
- To do
Monadic should be a scala.AnyVal after https://github.com/scala/bug/issues/10595 is resolved.
- See also
com.thoughtworks.dsl.domains.cats for using this Monadic keyword with cats.Monad.
com.thoughtworks.dsl.domains.scalaz for using this Monadic keyword with scalaz.Monad.
-
final
case class
Shift[Domain, Value](continuation: !![Domain, Value]) extends AnyVal with Keyword[Shift[Domain, Value], Value] with Product with Serializable
Author:
杨博 (Yang Bo)
-
final
case class
Yield[Element](element: Element) extends AnyVal with Keyword[Yield[Element], Unit] with Product with Serializable
Author:
杨博 (Yang Bo)
This
Yield
keyword must be put inside a function that returnsStream[Element]
orStream[Element] !! ...
, or it will not compile."def f(): Unit = !Yield(1)" shouldNot compile
Example:
Value Members
- object AsynchronousIo
- object AutoClose extends Serializable
- object Catch extends LowPriorityCatch0 with Serializable
- object Each extends Serializable
- object Fork extends Serializable
- object Hang extends Serializable
- object Monadic extends Serializable
- object Shift extends LowPriorityShift0 with Serializable
- object Yield extends Serializable