Edge Rewrite
// 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: a254e35d2cd7f8ab

Jump to content

Type erasure

From Wikipedia, the free encyclopedia

In programming languages, type erasure is the process of translating a program from a representation containing type information to one in which some or all of that information is omitted.[1] Operational semantics not requiring programs to be accompanied by types are named type-erasure semantics, in contrast with type-passing semantics. Type-erasure semantics is an abstraction principle, ensuring that the run-time execution of a program doesn't depend on type information. In the context of generic programming, the opposite of type erasure is named reification.[2]

Type inference

[edit source]

The reverse operation is named type inference. Though type erasure can be an easy way to define typing over implicitly typed languages (an implicitly typed term is well-typed if and only if it is the erasure of a well-typed explicitly typed lambda term), it doesn't provide rules of inference for this definition.

See also

[edit source]

References

[edit source]
  1. Pierce, Benjamin C. (2002). Types and Programming Languages. MIT Press. pp. 109–110. ISBN 978-0-262-16209-8.
  2. Langer, Angelika. "What is reification?".