--- layout: default title: "Breaking" parent: Abnormal ancestor: Funcons-beta --- [Funcons-beta] : [Breaking.cbs] ----------------------------- ### Breaking
[
  Datatype breaking
  Funcon   broken
  Funcon   finalise-breaking
  Funcon   break
  Funcon   handle-break
]
Meta-variables
  T <: values
Datatype
  breaking ::= broken
broken is a reason for abrupt termination.
Funcon
  finalise-breaking(X:=>T) : =>T|null-type
   ~> finalise-abrupting(X)
finalise-breaking(X) handles abrupt termination of X due to executing break.
Funcon
  break : =>empty-type
   ~> abrupt(broken)
break abruptly terminates all enclosing computations until it is handled.
Funcon
  handle-break(_:=>null-type) : =>null-type
handle-break(X) terminates normally when X terminates abruptly for the reason broken.
Rule
                X --abrupted( )-> X′
  ------------------------------------------------
  handle-break(X) --abrupted( )-> handle-break(X′)
Rule
                X --abrupted(broken)-> _
  ---------------------------------------
  handle-break(X) --abrupted( )-> null-value
Rule
                X --abrupted(V:~breaking)-> X′
  ------------------------------------------------
  handle-break(X) --abrupted(V)-> handle-break(X′)
Rule
  handle-break(null-value) ~> null-value
____ From the [PLanCompS Project] | [CBS-beta issues...] | [Suggest an improvement...] [Breaking.cbs]: Breaking.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%20Computations/Abnormal/Breaking/Breaking.cbs%0A%0AComment/Query/Issue/Suggestion%3A%0A%0A%0ASignature%3A%0A "GENERATE AN EMAIL TEMPLATE"