Difference between revisions of "Strict programming language"
Karl Jones (Talk | contribs) (→External links) |
Karl Jones (Talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | A '''strict programming language''' is | + | A '''strict programming language''' is [[programming language]] in which only strict functions (functions whose parameters must be evaluated completely before they may be called) may be defined by the user. |
== Prevalence == | == Prevalence == | ||
| Line 28: | Line 28: | ||
* [https://en.wikipedia.org/wiki/Strict_programming_languageStrict Programming language] @ Wikipedia | * [https://en.wikipedia.org/wiki/Strict_programming_languageStrict Programming language] @ Wikipedia | ||
| + | |||
| + | |||
| + | [[Category:Computer programming]] | ||
| + | [[Category:Computer science]] | ||
| + | [[Category:Programming lanaguages]] | ||
Revision as of 21:36, 25 April 2016
A strict programming language is programming language in which only strict functions (functions whose parameters must be evaluated completely before they may be called) may be defined by the user.
Contents
Prevalence
Nearly all programming languages in common use today are strict. Examples include C#, Java (programming language]] (prior to Java 8), Perl (through version 5), Python, Ruby, Common Lisp, and ML.
Macros and thunks
In many strict programming languages, some advantages of non-strict functions can be obtained through the use of macros or thunks.
Non-strict programming languages
A non-strict programming language allows the user to define non-strict functions, and hence may allow lazy evaluation.
Evaluation strategies
Strict programming languages are often associated with eager evaluation, and non-strict languages with lazy evaluation, but other evaluation strategies are possible in each case.
The terms "eager programming language" and "lazy programming language" are often used as synonyms for "strict programming language" and "non-strict programming language" respectively.
See also
External links
- Programming language @ Wikipedia