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: a21d4c803b26bd4a

Jump to content

Talk:Extended static checking

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia

"ESC can identify a range of errors which are currently outside the scope of a type checker, including division by zero, array out of bounds, integer overflow and null dereferences."

This is not strictly true. With subtypes and refinement types all of these are "catchable" by a type checker. See for example http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/2013/01/01/refinement-types-101.lhs/ Which is a tutorial on refinement types to remove division by zero. Languages like ATS use dependent types to prove the absence of errors like null dereferences. Integer over(under)flow and array out of bounds can be removed with subtypes, as done in CCured.

Start a discussion about improving the Extended static checking page

Start a discussion