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.