Strict programming language: Difference between revisions

Content deleted Content added
true
m Reverted 1 edit by 1.127.49.86 identified as test/vandalism using STiki
Line 2:
A '''strict programming language''' is one in which only [[strict function]]s (functions whose parameters must be evaluated completely before they may be called) may be defined by the user. A '''non-strict programming language''' allows the user to define non-strict functions, and hence may allow [[lazy evaluation]].{{Sfn|Scott|2006|p=541}}
 
==Examples==
[[programming language]English words
Nearly all [[programming language]]s in common use today are strict. Examples include [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]] (prior to Java 8), [[Perl]] (through version 5), [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Common Lisp]], and [[ML (programming language)|ML]]. Examples for non-strict languages are [[Haskell (programming language)|Haskell]], [[Miranda (programming language)|Miranda]], and [[Clean (programming language)|Clean]].{{Sfn|Cluet & Hull|1998|pp=25–26}}
Languages whose ordinary functions are strict but which provide a [[Macro (computer science)|macro system]] to build non-strict functions include [[C (programming language)|C]], [[C++]], and [[Scheme (programming language)|Scheme]].
 
==Explanation==