static typing

static typing

Enforcement of type rules at compile time rather than at run time. Static typing catches more errors at compile time than dynamic typing.

Ada, C, C++, Haskell, Java, and ML are examples of statically typed languages.

Statically typed languages may have strong typing or weak typing.
This article is provided by FOLDOC - Free Online Dictionary of Computing (

early binding

In programming, the assignment of types to variables and expressions at compilation time. Also called "static binding" and "static typing." Contrast with dynamic binding. See binding time.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
Zero--a blend of static typing and dynamic metaprogramming.
While static typing is widely accepted as being necessary for secure program execution, dynamic typing is also viewed as being essential in some applications, particularly for distributed programming environments.
Additional Key Words and Phrases: Dynamic typing, marshalling, parametric polymorphism, static typing
Languages such as Ada [1979] and ML [1990] improve the flexibility of static typing by providing parametric polymorphism, that allows static type-checking of reusable software components which operate generically over data structures such as lists, sets, trees, etc.
Despite the aforesaid advantages of static typing, some form of dynamic (runtime) typing has been proposed for statically typed languages.
Although static typing is widely regarded as useful and necessary for large-scale programming, the need for some degree of dynamic typing has also been recognized.
Although the absence of static checking requires the programmer to find and fix some bugs at runtime (the traditional rationale for static typing), its presence compels the programmer to reason much more indirectly about the program.
Static typing is therefore unsuitable for dynamically typed languages such as Scheme.
The proof exploits the close correlation between the type schemes assigned by TypeOf and SoftTypeOf and between the static typing rules and the soft typing rules.
Strong static typing is an important language characteristic that affects design and is particularly easy to notice when dealing with container data structures.
Languages with strong static typing usually include the type of container elements in the type of the container, such as list <string> in C++ or string list in ML.