Strict programming language: Difference between revisions

Content deleted Content added
m Extension: +{{unreferenced section|date=April 2024}}
m Description: +{{Citation needed|date=April 2024}}
Line 10:
A strict programming language is a [[programming language]] which employs a strict [[programming paradigm]], allowing only [[strict function]]s (functions whose parameters must be evaluated completely before they may be called) to 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}}
 
Non-strictness has several disadvantages which have prevented widespread adoption:{{Citation needed|date=April 2024}}
* Because of the uncertainty regarding if and when expressions will be evaluated, non-strict languages generally must be [[purely functional language|purely functional]] to be useful.
* All [[computer architecture|hardware architecture]]s in common use are optimized for strict languages, so the best compilers for non-strict languages produce slower code than the best compilers for strict languages.