Content deleted Content added
m v2.04b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation) |
→Examples: wikilink |
||
Line 9:
Nearly all [[programming language]]s in common use today are strict. Examples include [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Perl]] (all versions, i.e. through version 5 and version 7), [[Python (programming language)|Python]],<ref>{{cite book |last1=Lott |first1=Steven |title=Functional Python Programming. |date=2015 |publisher=Packt Publishing |___location=Birmingham, UK |isbn=978-1-78439-699-2 |page=35 |quote=Python focuses on strict evaluation}}</ref> [[Ruby (programming language)|Ruby]], [[Common Lisp]], and [[ML (programming language)|ML]].
Some strict programming languages include features that mimic laziness. [[Raku_(programming_language)|Raku]], formerly known as Perl 6, has lazy lists.<ref>{{Cite web|title=Raku Programming/Lazy Lists and Feeds - Wikibooks, open books for an open world|url=https://en.wikibooks.org/wiki/Raku_Programming/Lazy_Lists_and_Feeds|access-date=2021-02-09|website=en.wikibooks.org}}</ref> Python has generator functions.<ref>{{cite book |last1=Lott |first1=Steven |title=Functional Python Programming. |date=2015 |publisher=Packt Publishing |___location=Birmingham, UK |isbn=978-1-78439-699-2 |page=35 |quote=a generator function is non-strict. [...] we can leverage generator functions to create lazy evaluation.}}</ref> [[Julia (programming language)|Julia]] provides a [[Macro (computer science)#Hygienic macros|macro system]] to build non-strict functions,<ref>{{Citation|last=Innes|first=Mike J.|title=MikeInnes/Lazy.jl|date=2021-02-06|url=https://github.com/MikeInnes/Lazy.jl|access-date=2021-02-09}}</ref> as does [[Scheme (programming language)|Scheme]].
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}}
|