# The RTTypeFP interface

`RTTypeFP` provides runtime access to type fingerprints. fingerprint of type

type fingerprint of

A type's fingerprint is a 64-bit checksum computed from its declaration. The probability of distinct types having the same fingerprint is very small. See the `Fingerprint` interface for more details.

Typecodes may vary between executions of a program but fingerprints do not. Fingerprints are portable across multiple runs of a single program and across all programs compiled by the same compiler.

    INTERFACE RTTypeFP;

    IMPORT Fingerprint;
    FROM RTType IMPORT Typecode;

    PROCEDURE ToFingerprint(tc: Typecode): Fingerprint.T;

Return the fingerprint corresponding to `tc`. It is a checked runtime error if `tc` is not proper or does not name a traced reference type.

    PROCEDURE FromFingerprint(READONLY fp: Fingerprint.T)
      : Typecode;

Return the typecode that corresponds to `fp`. If no such typecode exists, returns `RTType.NoSuchType`.

    END RTTypeFP.