--- layout: default title: "Thunks" parent: Abstraction ancestor: Funcons-beta --- [Funcons-beta] : [Thunks.cbs] ----------------------------- ### Thunks
[
  Datatype thunks
  Funcon   thunk
  Funcon   force
]
Meta-variables
  T <: values
Datatype
  thunks(T) ::= thunk(_:abstractions(()=>T))
thunks(T) consists of abstractions whose bodies do not depend on a given value, and whose executions normally compute values of type T. thunk(abstraction(X)) evaluates to a thunk with dynamic bindings, thunk(closure(X)) computes a thunk with static bindings.
Funcon
  force(_:thunks(T)) : =>T
force(H) enacts the abstraction of the thunk H.
Rule
  force(thunk(abstraction(X))) ~> no-given(X)
____ From the [PLanCompS Project] | [CBS-beta issues...] | [Suggest an improvement...] [Thunks.cbs]: Thunks.cbs "CBS SOURCE FILE" [Funcons-beta]: /CBS-beta/docs/Funcons-beta "FUNCONS-BETA" [Unstable-Funcons-beta]: /CBS-beta/docs/Unstable-Funcons-beta "UNSTABLE-FUNCONS-BETA" [Languages-beta]: /CBS-beta/docs/Languages-beta "LANGUAGES-BETA" [Unstable-Languages-beta]: /CBS-beta/docs/Unstable-Languages-beta "UNSTABLE-LANGUAGES-BETA" [CBS-beta]: /CBS-beta "CBS-BETA" [PLanCompS Project]: https://plancomps.github.io "PROGRAMMING LANGUAGE COMPONENTS AND SPECIFICATIONS PROJECT HOME PAGE" [CBS-beta issues...]: https://github.com/plancomps/CBS-beta/issues "CBS-BETA ISSUE REPORTS ON GITHUB" [Suggest an improvement...]: mailto:plancomps@gmail.com?Subject=CBS-beta%20-%20comment&Body=Re%3A%20CBS-beta%20specification%20at%20Values/Abstraction/Thunks/Thunks.cbs%0A%0AComment/Query/Issue/Suggestion%3A%0A%0A%0ASignature%3A%0A "GENERATE AN EMAIL TEMPLATE"