<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Strict_programming_language</id>
	<title>Strict programming language - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Strict_programming_language"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Strict_programming_language&amp;action=history"/>
	<updated>2026-05-05T16:51:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Strict_programming_language&amp;diff=4687061&amp;oldid=prev</id>
		<title>~2026-2699: /* References */</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Strict_programming_language&amp;diff=4687061&amp;oldid=prev"/>
		<updated>2026-01-01T02:13:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;References&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:13, 1 January 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Examples==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Examples==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nearly all [[programming language]]s in common use today are strict.{{Citation needed|date=April 2024}} Examples include [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Perl]] (all versions, i.e. through &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;version&amp;amp;nbsp;&lt;/del&gt;5 and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;version &lt;/del&gt;7), [[Python (programming language)|Python]],&amp;lt;ref&amp;gt;{{cite book |last1=Lott |first1=Steven |title=Functional Python Programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;|date=2015 |publisher=Packt Publishing |location=Birmingham, UK |isbn=978-1-78439-699-2 |page=35 |quote=Python focuses on strict evaluation}}&amp;lt;/ref&amp;gt; [[Ruby (programming language)|Ruby]], [[Common Lisp]], and [[ML (programming language)|ML]]. Some strict programming languages include features that mimic laziness.{{Clarify|date=April 2024|reason=Explain what it means to &quot;mimic laziness&quot;}} [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Raku_&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;programming_language&lt;/del&gt;)|Raku]] (formerly &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;known as &lt;/del&gt;Perl 6) has lazy lists,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; Python has &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;generator functions&lt;/del&gt;,&amp;lt;ref&amp;gt;{{cite book |last1=Lott |first1=Steven |title=Functional Python Programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. &lt;/del&gt;|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.}}&amp;lt;/ref&amp;gt; and [[Julia (programming language)|Julia]] provides a [[Macro (computer science)#Hygienic macros|macro system]] to build non-strict functions,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; as does [[Scheme (programming language)|Scheme]].  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nearly all [[programming language]]s in common use today are strict.{{Citation needed|date=April 2024}} Examples include [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Perl]] (all versions, i.e.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;through &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;versions &lt;/ins&gt;5 and 7), [[Python (programming language)|Python]],&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; [[Ruby (programming language)|Ruby]], [[Common Lisp]], and [[ML (programming language)|ML]]. Some strict programming languages include features that mimic laziness.{{Clarify|date=April 2024|reason=Explain what it means to &quot;mimic laziness&quot;}} [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Raku &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;programming language&lt;/ins&gt;)|Raku]] (formerly &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;named &lt;/ins&gt;Perl 6) has lazy lists,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Python (programming language)|&lt;/ins&gt;Python&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;has &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[generating function]]s&lt;/ins&gt;,&amp;lt;ref&amp;gt;{{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.}}&amp;lt;/ref&amp;gt; and [[Julia (programming language)|Julia]] provides a [[Macro (computer science)#Hygienic macros|macro system]] to build non-strict functions,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; as does [[Scheme (programming language)|Scheme]].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Examples for non-strict languages are [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Haskell (programming language)|&lt;/del&gt;Haskell]], [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;R_&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;programming_language&lt;/del&gt;)|R]], [[Miranda (programming language)|Miranda]], and [[Clean (programming language)|Clean]].{{Sfn|Cluet &amp;amp; Hull|1998|pp=25–26}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Examples for non-strict languages are [[Haskell]], [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;R &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;programming language&lt;/ins&gt;)|R]], [[Miranda (programming language)|Miranda]], and [[Clean (programming language)|Clean]].{{Sfn|Cluet &amp;amp; Hull|1998|pp=25–26}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Extension==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Extension==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| others            =Published by Denise Penrose&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| others            =Published by Denise Penrose&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| date              =2006&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| date              =2006&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;origyear &lt;/del&gt;         =1999&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;orig-date &lt;/ins&gt;         =1999&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title             =Programming Language Pragmatics&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title             =Programming Language Pragmatics&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| edition           ={{Ordinal|2|sup=yes}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| edition           ={{Ordinal|2|sup=yes}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l65&quot;&gt;Line 65:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| display-editors =2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| display-editors =2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| date     =1998&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| date     =1998&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;origyear &lt;/del&gt;=1997&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;orig-date &lt;/ins&gt;=1997&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title    =Database Programming Languages&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title    =Database Programming Languages&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| series  =Lecture Notes in Computer Science&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| series  =Lecture Notes in Computer Science&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l79&quot;&gt;Line 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Refend}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Refend}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Programming paradigms navbox}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming paradigms]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Programming paradigms]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Evaluation strategy]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Evaluation strategy]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>~2026-2699</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Strict_programming_language&amp;diff=205325&amp;oldid=prev</id>
		<title>imported&gt;Dan Leonard: Undid revision 1261542589 by Leongoogology (talk): not how to format links</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Strict_programming_language&amp;diff=205325&amp;oldid=prev"/>
		<updated>2024-12-06T20:28:49Z</updated>

		<summary type="html">&lt;p&gt;Undid revision &lt;a href=&quot;/wiki143/index.php?title=Special:Diff/1261542589&quot; title=&quot;Special:Diff/1261542589&quot;&gt;1261542589&lt;/a&gt; by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/Leongoogology&quot; title=&quot;Special:Contributions/Leongoogology&quot;&gt;Leongoogology&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:Leongoogology&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Leongoogology (page does not exist)&quot;&gt;talk&lt;/a&gt;): not how to format links&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Programming language using strict evaluation}}&lt;br /&gt;
{{Multiple issues|&lt;br /&gt;
{{context|date=November 2018}}&lt;br /&gt;
{{More citations needed|date=November 2014}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;strict programming language&amp;#039;&amp;#039;&amp;#039; is a [[programming language]] that only allows [[strict function]]s (functions whose parameters must be evaluated completely before they may be called) to be defined by the user. A &amp;#039;&amp;#039;&amp;#039;non-strict programming language&amp;#039;&amp;#039;&amp;#039; allows the user to define non-strict functions, and hence may allow [[lazy evaluation]]. In most non-strict languages, the non-strictness extends to [[algebraic data type|data constructor]]s. &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
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}} &lt;br /&gt;
&lt;br /&gt;
Non-strictness has several disadvantages which have prevented widespread adoption:{{Citation needed|date=April 2024}}&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* [[Space complexity]] of non-strict programs is difficult to understand and predict.&lt;br /&gt;
* In many strict languages, some advantages of non-strict functions can be obtained through the use of [[Macro (computer science)|macros]] or [[thunk]]s.&lt;br /&gt;
Strict programming languages are often associated with [[eager evaluation]], and non-strict languages with [[lazy evaluation]], but other [[evaluation strategy|evaluation strategies]] are possible in each case.{{Citation needed|date=April 2024}} The terms &amp;quot;eager programming language&amp;quot; and &amp;quot;lazy programming language&amp;quot; are often used as synonyms for &amp;quot;strict programming language&amp;quot; and &amp;quot;non-strict programming language&amp;quot; respectively.{{Citation needed|date=April 2024}}&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Nearly all [[programming language]]s in common use today are strict.{{Citation needed|date=April 2024}} Examples include [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Perl]] (all versions, i.e. through version&amp;amp;nbsp;5 and version 7), [[Python (programming language)|Python]],&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; [[Ruby (programming language)|Ruby]], [[Common Lisp]], and [[ML (programming language)|ML]]. Some strict programming languages include features that mimic laziness.{{Clarify|date=April 2024|reason=Explain what it means to &amp;quot;mimic laziness&amp;quot;}} [[Raku_(programming_language)|Raku]] (formerly known as Perl 6) has lazy lists,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; Python has generator functions,&amp;lt;ref&amp;gt;{{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.}}&amp;lt;/ref&amp;gt; and [[Julia (programming language)|Julia]] provides a [[Macro (computer science)#Hygienic macros|macro system]] to build non-strict functions,&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt; as does [[Scheme (programming language)|Scheme]]. &lt;br /&gt;
&lt;br /&gt;
Examples for non-strict languages are [[Haskell (programming language)|Haskell]], [[R_(programming_language)|R]], [[Miranda (programming language)|Miranda]], and [[Clean (programming language)|Clean]].{{Sfn|Cluet &amp;amp; Hull|1998|pp=25–26}}&lt;br /&gt;
&lt;br /&gt;
==Extension==&lt;br /&gt;
{{unreferenced section|date=April 2024}}&lt;br /&gt;
In most non-strict languages, the non-strictness extends to [[algebraic data type|data constructor]]s. This allows conceptually infinite data structures (such as the list of all [[prime number]]s) to be manipulated in the same way as ordinary finite data structures. It also allows for the use of very large but finite data structures such as the complete [[game tree]] of [[chess]].&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Refbegin}}&lt;br /&gt;
*{{Citation&lt;br /&gt;
| last              =Scott&lt;br /&gt;
| first             =Michael Lee&lt;br /&gt;
| editor-last       =McFadden&lt;br /&gt;
| editor-first      =Nate&lt;br /&gt;
| editor2-last      =Witte&lt;br /&gt;
| editor2-first     =Valerie&lt;br /&gt;
| display-editors   =1&lt;br /&gt;
| others            =Published by Denise Penrose&lt;br /&gt;
| date              =2006&lt;br /&gt;
| origyear          =1999&lt;br /&gt;
| title             =Programming Language Pragmatics&lt;br /&gt;
| edition           ={{Ordinal|2|sup=yes}}&lt;br /&gt;
| volume            =2&lt;br /&gt;
| publisher         =Morgan Kaufmann&lt;br /&gt;
| publication-place =San Francisco&lt;br /&gt;
| isbn              =9780126339512&lt;br /&gt;
| oclc              =551774322&lt;br /&gt;
| url               =https://books.google.com/books?id=TLbvODF1uIEC&lt;br /&gt;
| accessdate        =21 November 2014&lt;br /&gt;
}}&lt;br /&gt;
*{{Citation&lt;br /&gt;
| editor-last   =Cluet&lt;br /&gt;
| editor-first  =Sophie&lt;br /&gt;
| editor2-last  =Hull&lt;br /&gt;
| editor2-first =Rick&lt;br /&gt;
| editor3-last  =Goos&lt;br /&gt;
| editor3-first =Gerhard&lt;br /&gt;
| editor4-last  =Hartmanis&lt;br /&gt;
| editor4-first =Juris&lt;br /&gt;
| editor5-last  =van Leeuwen&lt;br /&gt;
| editor5-first =Jan&lt;br /&gt;
| display-editors =2&lt;br /&gt;
| date     =1998&lt;br /&gt;
| origyear =1997&lt;br /&gt;
| title    =Database Programming Languages&lt;br /&gt;
| series  =Lecture Notes in Computer Science&lt;br /&gt;
| volume  =1369&lt;br /&gt;
| publisher =Springer&lt;br /&gt;
| publication-place =Berlin; Heidelberg&lt;br /&gt;
| isbn =9783540648239&lt;br /&gt;
| issn =0302-9743&lt;br /&gt;
| oclc =873553545&lt;br /&gt;
| url =https://books.google.com/books?id=mf070SFg1qQC&lt;br /&gt;
| accessdate  =21 November 2014&lt;br /&gt;
| ref={{harvid|Cluet &amp;amp; Hull|1998}}&lt;br /&gt;
}}&lt;br /&gt;
{{Refend}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming paradigms]]&lt;br /&gt;
[[Category:Evaluation strategy]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Dan Leonard</name></author>
	</entry>
</feed>