Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21c711f3aa124ea

Jump to content

Fail-stop

From Wikipedia, the free encyclopedia

A fail-stop subset of a computer language is one that has the same semantics as the original, except in the case where an exceptional condition arises. The fail-stop subset must report an exceptional condition whenever the superset language reports one, but may additionally report an exceptional condition in other cases.

Fail-stop languages are often used in computer systems where correctness is very important, since it is easier to make such systems fail-fast. For example, the "+" operator in many programming languages is not associative because of the possibility of floating-point overflow. Repairing these languages to fail fast when commonly assumed properties do not hold makes it much easier to write and verify correct code.

Examples

[edit]

In many widely used programming languages the code below might reduce the bank account value if the deposited amount or old account value is very large, by causing an overflowed value to be assigned to new_bank_account_value.

  new_bank_account_value = old_bank_account_value + amount_deposited
  // example calculation with 32-bit signed integers to demonstrate, which overflow above 2,147,483,647
  // -2,147,483,646 = 2,147,483,640 + 10

But in a fail-stop language that treats overflow as an exceptional condition, it is either correct, or will terminate with an exceptional condition.

See also

[edit]