Strict programming language

A strict programming language is a programming language that only allows strict functions (functions whose parameters must be evaluated completely before they may be called) to be defined by the user.[citation needed] Nearly all programming languages in common use today are strict.Some strict programming languages include features that mimic laziness.[clarification needed] Raku (formerly known as Perl 6) has lazy lists,[3] Python has generator functions,[4] and Julia provides a macro system to build non-strict functions,[5] as does Scheme.It also allows for the use of very large but finite data structures such as the complete game tree of chess.
programming languagestrict functionslazy evaluationdata constructorsprogramming paradigmpurely functionalhardware architecturesSpace complexitymacrosthunkseager evaluationevaluation strategiesprogramming languagesPythonCommon LispSchemeHaskellMirandaprime numbersgame tree