<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://bloomwiki.org/index.php?action=history&amp;feed=atom&amp;title=Type_Theory</id>
	<title>Type Theory - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://bloomwiki.org/index.php?action=history&amp;feed=atom&amp;title=Type_Theory"/>
	<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Type_Theory&amp;action=history"/>
	<updated>2026-05-06T15:02:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://bloomwiki.org/index.php?title=Type_Theory&amp;diff=5053&amp;oldid=prev</id>
		<title>Wordpad: BloomWiki: Type Theory</title>
		<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Type_Theory&amp;diff=5053&amp;oldid=prev"/>
		<updated>2026-04-25T02:00:49Z</updated>

		<summary type="html">&lt;p&gt;BloomWiki: Type Theory&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;← Older 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:00, 25 April 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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;&amp;lt;div style=&quot;background-color: #4B0082; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;gt;&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;div&gt;{{BloomIntro}}&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;{{BloomIntro}}&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;Type Theory is the &amp;quot;Grammar of Mathematics&amp;quot;—the study of how we classify data to prevent &amp;quot;Nonsense&amp;quot; and &amp;quot;Paradoxes.&amp;quot; While simple math treats everything as a &amp;quot;Number&amp;quot; or a &amp;quot;Set,&amp;quot; type theory argues that every object belongs to a specific &amp;quot;Type&amp;quot; (e.g., an Integer, a String, or a Function). It was invented by Bertrand Russell to &amp;quot;Fix&amp;quot; the foundations of math and has become the secret engine behind modern &amp;quot;Programming Languages&amp;quot; like Swift, Haskell, and Rust. By ensuring that you &amp;quot;Don&amp;#039;t add an apple to a banana,&amp;quot; type theory allows us to write code that is &amp;quot;Guaranteed to be correct&amp;quot; before it even runs.&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;Type Theory is the &amp;quot;Grammar of Mathematics&amp;quot;—the study of how we classify data to prevent &amp;quot;Nonsense&amp;quot; and &amp;quot;Paradoxes.&amp;quot; While simple math treats everything as a &amp;quot;Number&amp;quot; or a &amp;quot;Set,&amp;quot; type theory argues that every object belongs to a specific &amp;quot;Type&amp;quot; (e.g., an Integer, a String, or a Function). It was invented by Bertrand Russell to &amp;quot;Fix&amp;quot; the foundations of math and has become the secret engine behind modern &amp;quot;Programming Languages&amp;quot; like Swift, Haskell, and Rust. By ensuring that you &amp;quot;Don&amp;#039;t add an apple to a banana,&amp;quot; type theory allows us to write code that is &amp;quot;Guaranteed to be correct&amp;quot; before it even runs.&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;&amp;lt;/div&amp;gt;&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; 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;== Remembering ==&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;__TOC__&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;/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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #000080; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Remembering&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;* &amp;#039;&amp;#039;&amp;#039;Type Theory&amp;#039;&amp;#039;&amp;#039; — A formal system in which every term has a &amp;quot;Type&amp;quot; that determines the operations that can be performed on it.&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;* &amp;#039;&amp;#039;&amp;#039;Type Theory&amp;#039;&amp;#039;&amp;#039; — A formal system in which every term has a &amp;quot;Type&amp;quot; that determines the operations that can be performed on it.&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;* &amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039; — A classification of data (e.g., `Int`, `Bool`, `String`).&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;* &amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039; — A classification of data (e.g., `Int`, `Bool`, `String`).&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-l13&quot;&gt;Line 13:&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;div&gt;* &amp;#039;&amp;#039;&amp;#039;Strongly Typed&amp;#039;&amp;#039;&amp;#039; — A language where the computer &amp;quot;Strictly enforces&amp;quot; type rules (it won&amp;#039;t let you do something &amp;quot;Illegal&amp;quot; with a type).&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;* &amp;#039;&amp;#039;&amp;#039;Strongly Typed&amp;#039;&amp;#039;&amp;#039; — A language where the computer &amp;quot;Strictly enforces&amp;quot; type rules (it won&amp;#039;t let you do something &amp;quot;Illegal&amp;quot; with a type).&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;* &amp;#039;&amp;#039;&amp;#039;Algebraic Data Types (ADTs)&amp;#039;&amp;#039;&amp;#039; — Complex types built by &amp;quot;Adding&amp;quot; or &amp;quot;Multiplying&amp;quot; simpler types together.&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;* &amp;#039;&amp;#039;&amp;#039;Algebraic Data Types (ADTs)&amp;#039;&amp;#039;&amp;#039; — Complex types built by &amp;quot;Adding&amp;quot; or &amp;quot;Multiplying&amp;quot; simpler types together.&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;&amp;lt;/div&amp;gt;&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; 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;== Understanding ==&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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #006400; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Understanding&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;Type theory is understood through &amp;#039;&amp;#039;&amp;#039;Classification&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Correction&amp;#039;&amp;#039;&amp;#039;.&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;Type theory is understood through &amp;#039;&amp;#039;&amp;#039;Classification&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Correction&amp;#039;&amp;#039;&amp;#039;.&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Line 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 42:&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;&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Option&amp;#039; Type&amp;#039;&amp;#039;&amp;#039;&amp;#039;: A famous solution to the &amp;quot;Null Pointer&amp;quot; problem (the &amp;#039;Billion Dollar Mistake&amp;#039;). Instead of a variable being &amp;quot;Empty&amp;quot; (which causes crashes), an Option type says: &amp;quot;I am either &amp;#039;Some Value&amp;#039; or &amp;#039;Nothing&amp;#039;.&amp;quot; The programmer is **forced** to handle the &amp;#039;Nothing&amp;#039; case, preventing the crash.&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;&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Option&amp;#039; Type&amp;#039;&amp;#039;&amp;#039;&amp;#039;: A famous solution to the &amp;quot;Null Pointer&amp;quot; problem (the &amp;#039;Billion Dollar Mistake&amp;#039;). Instead of a variable being &amp;quot;Empty&amp;quot; (which causes crashes), an Option type says: &amp;quot;I am either &amp;#039;Some Value&amp;#039; or &amp;#039;Nothing&amp;#039;.&amp;quot; The programmer is **forced** to handle the &amp;#039;Nothing&amp;#039; case, preventing the crash.&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;&amp;lt;/div&amp;gt;&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; 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;== Applying ==&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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #8B0000; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Applying&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Type Checker&amp;#039; (Visualizing how code prevents errors):&amp;#039;&amp;#039;&amp;#039;&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;&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Type Checker&amp;#039; (Visualizing how code prevents errors):&amp;#039;&amp;#039;&amp;#039;&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;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;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;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&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-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&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;: &amp;#039;&amp;#039;&amp;#039;Haskell (1990)&amp;#039;&amp;#039;&amp;#039; → The programming language that became the &amp;quot;Laboratory&amp;quot; for advanced type theory, featuring the most powerful type system in common use.&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;: &amp;#039;&amp;#039;&amp;#039;Haskell (1990)&amp;#039;&amp;#039;&amp;#039; → The programming language that became the &amp;quot;Laboratory&amp;quot; for advanced type theory, featuring the most powerful type system in common use.&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;: &amp;#039;&amp;#039;&amp;#039;Homotopy Type Theory (HoTT) (2013)&amp;#039;&amp;#039;&amp;#039; → A cutting-edge branch of math that merges type theory with &amp;quot;Geometry&amp;quot; (Topology), suggesting that types are actually &amp;quot;Shapes&amp;quot; in space.&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;: &amp;#039;&amp;#039;&amp;#039;Homotopy Type Theory (HoTT) (2013)&amp;#039;&amp;#039;&amp;#039; → A cutting-edge branch of math that merges type theory with &amp;quot;Geometry&amp;quot; (Topology), suggesting that types are actually &amp;quot;Shapes&amp;quot; in space.&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;&amp;lt;/div&amp;gt;&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; 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;== Analyzing ==&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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #8B4500; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Analyzing&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;{| class=&amp;quot;wikitable&amp;quot;&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;{| class=&amp;quot;wikitable&amp;quot;&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;|+ Dynamic vs. Static Typing&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;|+ Dynamic vs. Static Typing&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-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 89:&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;&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Structural&amp;quot; vs. &amp;quot;Nominal&amp;quot; Typing&amp;#039;&amp;#039;&amp;#039;: Analyzing how things are named. In &amp;#039;&amp;#039;&amp;#039;Nominal&amp;#039;&amp;#039;&amp;#039; typing, two things are different if they have different &amp;quot;Names&amp;quot; (e.g., `User` and `Admin`). In &amp;#039;&amp;#039;&amp;#039;Structural&amp;#039;&amp;#039;&amp;#039; typing (like TypeScript), two things are the same if they &amp;quot;Look the same&amp;quot; (e.g., they both have a `name` and an `id`).&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;&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Structural&amp;quot; vs. &amp;quot;Nominal&amp;quot; Typing&amp;#039;&amp;#039;&amp;#039;: Analyzing how things are named. In &amp;#039;&amp;#039;&amp;#039;Nominal&amp;#039;&amp;#039;&amp;#039; typing, two things are different if they have different &amp;quot;Names&amp;quot; (e.g., `User` and `Admin`). In &amp;#039;&amp;#039;&amp;#039;Structural&amp;#039;&amp;#039;&amp;#039; typing (like TypeScript), two things are the same if they &amp;quot;Look the same&amp;quot; (e.g., they both have a `name` and an `id`).&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;&amp;lt;/div&amp;gt;&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; 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;== Evaluating ==&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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #483D8B; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Evaluating&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;Evaluating type theory:&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;Evaluating type theory:&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;# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Billion Dollar Mistake&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Why did we allow &amp;quot;Null&amp;quot; or &amp;quot;None&amp;quot; in our languages for so long? (Type theory proves that &amp;quot;Null&amp;quot; is a logical failure).&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;# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Billion Dollar Mistake&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Why did we allow &amp;quot;Null&amp;quot; or &amp;quot;None&amp;quot; in our languages for so long? (Type theory proves that &amp;quot;Null&amp;quot; is a logical failure).&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-l85&quot;&gt;Line 85:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 98:&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;# &amp;#039;&amp;#039;&amp;#039;Type Inference&amp;#039;&amp;#039;&amp;#039;: Is it &amp;quot;Lazy&amp;quot; to let the computer guess the types, or is it &amp;quot;Efficient&amp;quot;?&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;# &amp;#039;&amp;#039;&amp;#039;Type Inference&amp;#039;&amp;#039;&amp;#039;: Is it &amp;quot;Lazy&amp;quot; to let the computer guess the types, or is it &amp;quot;Efficient&amp;quot;?&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;# &amp;#039;&amp;#039;&amp;#039;The Limits of Math&amp;#039;&amp;#039;&amp;#039;: Can type theory describe &amp;quot;Everything&amp;quot;? (Or are there some parts of reality that are too &amp;quot;Fluid&amp;quot; to be typed?).&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;# &amp;#039;&amp;#039;&amp;#039;The Limits of Math&amp;#039;&amp;#039;&amp;#039;: Can type theory describe &amp;quot;Everything&amp;quot;? (Or are there some parts of reality that are too &amp;quot;Fluid&amp;quot; to be typed?).&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;&amp;lt;/div&amp;gt;&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; 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;== Creating ==&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;&amp;lt;div style&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;background-color: #2F4F4F; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;&quot;&amp;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;= &amp;lt;span style=&quot;color: #FFFFFF;&quot;&amp;gt;&lt;/ins&gt;Creating&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/span&amp;gt; &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;div&gt;Future Frontiers:&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;Future Frontiers:&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;# &amp;#039;&amp;#039;&amp;#039;Verified Operating Systems&amp;#039;&amp;#039;&amp;#039;: Building entire OSs (like SeL4) where the &amp;quot;Type System&amp;quot; proves that the computer can never be hacked or crash.&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;# &amp;#039;&amp;#039;&amp;#039;Verified Operating Systems&amp;#039;&amp;#039;&amp;#039;: Building entire OSs (like SeL4) where the &amp;quot;Type System&amp;quot; proves that the computer can never be hacked or crash.&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-l97&quot;&gt;Line 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 112:&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:Logic]]&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:Logic]]&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:Type Theory]]&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:Type Theory]]&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;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wordpad</name></author>
	</entry>
	<entry>
		<id>http://bloomwiki.org/index.php?title=Type_Theory&amp;diff=1685&amp;oldid=prev</id>
		<title>Wordpad: BloomWiki: Type Theory</title>
		<link rel="alternate" type="text/html" href="http://bloomwiki.org/index.php?title=Type_Theory&amp;diff=1685&amp;oldid=prev"/>
		<updated>2026-04-23T15:18:17Z</updated>

		<summary type="html">&lt;p&gt;BloomWiki: Type Theory&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{BloomIntro}}&lt;br /&gt;
Type Theory is the &amp;quot;Grammar of Mathematics&amp;quot;—the study of how we classify data to prevent &amp;quot;Nonsense&amp;quot; and &amp;quot;Paradoxes.&amp;quot; While simple math treats everything as a &amp;quot;Number&amp;quot; or a &amp;quot;Set,&amp;quot; type theory argues that every object belongs to a specific &amp;quot;Type&amp;quot; (e.g., an Integer, a String, or a Function). It was invented by Bertrand Russell to &amp;quot;Fix&amp;quot; the foundations of math and has become the secret engine behind modern &amp;quot;Programming Languages&amp;quot; like Swift, Haskell, and Rust. By ensuring that you &amp;quot;Don&amp;#039;t add an apple to a banana,&amp;quot; type theory allows us to write code that is &amp;quot;Guaranteed to be correct&amp;quot; before it even runs.&lt;br /&gt;
&lt;br /&gt;
== Remembering ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Type Theory&amp;#039;&amp;#039;&amp;#039; — A formal system in which every term has a &amp;quot;Type&amp;quot; that determines the operations that can be performed on it.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039; — A classification of data (e.g., `Int`, `Bool`, `String`).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Term&amp;#039;&amp;#039;&amp;#039; — A specific instance of a type (e.g., `5` is a term of type `Int`).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Type Inference&amp;#039;&amp;#039;&amp;#039; — The ability of a computer to &amp;quot;Guess&amp;quot; the type of a variable based on how it is used.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Polymorphism&amp;#039;&amp;#039;&amp;#039; — When a single function can work on &amp;quot;Multiple Types&amp;quot; (e.g., a function that &amp;quot;Sorts&amp;quot; a list of numbers OR a list of names).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dependent Types&amp;#039;&amp;#039;&amp;#039; — Types that &amp;quot;Depend&amp;quot; on values (e.g., &amp;quot;A list of length N,&amp;quot; where N is a specific number).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Russell’s Paradox&amp;#039;&amp;#039;&amp;#039; — The discovery that &amp;quot;The set of all sets that don&amp;#039;t contain themselves&amp;quot; leads to a logical contradiction—which type theory was designed to solve.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The Curry-Howard Correspondence&amp;#039;&amp;#039;&amp;#039; — The deep discovery that &amp;quot;A Program is a Proof&amp;quot; and &amp;quot;A Type is a Theorem.&amp;quot;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Strongly Typed&amp;#039;&amp;#039;&amp;#039; — A language where the computer &amp;quot;Strictly enforces&amp;quot; type rules (it won&amp;#039;t let you do something &amp;quot;Illegal&amp;quot; with a type).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Algebraic Data Types (ADTs)&amp;#039;&amp;#039;&amp;#039; — Complex types built by &amp;quot;Adding&amp;quot; or &amp;quot;Multiplying&amp;quot; simpler types together.&lt;br /&gt;
&lt;br /&gt;
== Understanding ==&lt;br /&gt;
Type theory is understood through &amp;#039;&amp;#039;&amp;#039;Classification&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Correction&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Preventing Nonsense&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
In &amp;quot;Set Theory,&amp;quot; you can ask: &amp;quot;Is the number 5 an element of the color Blue?&amp;quot;&lt;br /&gt;
* Math says: &amp;quot;That&amp;#039;s a weird question, but it&amp;#039;s False.&amp;quot;&lt;br /&gt;
* Type Theory says: &amp;quot;That&amp;#039;s a **Type Error**—it&amp;#039;s not even a valid question!&amp;quot;&lt;br /&gt;
* By defining types, we &amp;quot;Boundary&amp;quot; what is possible, preventing us from making logical mistakes.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Programs as Proofs (Curry-Howard)&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
This is the &amp;quot;Holy Grail&amp;quot; of computer science.&lt;br /&gt;
* If you write a &amp;quot;Function&amp;quot; that takes an Input (A) and returns an Output (B)...&lt;br /&gt;
* ...that is logically the same as proving the &amp;quot;Theorem&amp;quot;: &amp;quot;If A is true, then B is true.&amp;quot;&lt;br /&gt;
* If your code &amp;quot;Compiles&amp;quot; (it passes the type checker), it is a &amp;quot;Mathematical Proof&amp;quot; that your logic is consistent.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. The &amp;quot;Cost&amp;quot; of Types&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Some languages (like Python or JavaScript) are &amp;quot;Dynamic&amp;quot;—they don&amp;#039;t care about types until the last second.&lt;br /&gt;
* Other languages (like Rust or Haskell) are &amp;quot;Static&amp;quot;—they force you to define types upfront.&lt;br /&gt;
* Static types are &amp;quot;Harder to write,&amp;quot; but they &amp;quot;Never crash&amp;quot; in production because the errors were found during development.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The &amp;#039;Option&amp;#039; Type&amp;#039;&amp;#039;&amp;#039;&amp;#039;: A famous solution to the &amp;quot;Null Pointer&amp;quot; problem (the &amp;#039;Billion Dollar Mistake&amp;#039;). Instead of a variable being &amp;quot;Empty&amp;quot; (which causes crashes), an Option type says: &amp;quot;I am either &amp;#039;Some Value&amp;#039; or &amp;#039;Nothing&amp;#039;.&amp;quot; The programmer is **forced** to handle the &amp;#039;Nothing&amp;#039; case, preventing the crash.&lt;br /&gt;
&lt;br /&gt;
== Applying ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Modeling &amp;#039;The Type Checker&amp;#039; (Visualizing how code prevents errors):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def add_values(val_a, val_b):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    A simple Python version of a type-checking logic.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    type_a = type(val_a)&lt;br /&gt;
    type_b = type(val_b)&lt;br /&gt;
    &lt;br /&gt;
    if type_a != type_b:&lt;br /&gt;
        return f&amp;quot;TYPE ERROR: Cannot add {type_a.__name__} to {type_b.__name__}!&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    return f&amp;quot;RESULT: {val_a + val_b} (Type: {type_a.__name__})&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Success Case:&lt;br /&gt;
print(add_values(10, 20))&lt;br /&gt;
# Error Case:&lt;br /&gt;
print(add_values(10, &amp;quot;Hello&amp;quot;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Type Landmarks&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;The Principia Mathematica (1910)&amp;#039;&amp;#039;&amp;#039; → The birth of &amp;quot;Simple Type Theory,&amp;quot; where Bertrand Russell used &amp;quot;Levels&amp;quot; (Types) to solve the paradoxes of set theory.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;The Lambda Calculus (1930s)&amp;#039;&amp;#039;&amp;#039; → Alonzo Church&amp;#039;s system that added &amp;quot;Types&amp;quot; to functions, creating the foundation for all modern programming.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Haskell (1990)&amp;#039;&amp;#039;&amp;#039; → The programming language that became the &amp;quot;Laboratory&amp;quot; for advanced type theory, featuring the most powerful type system in common use.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Homotopy Type Theory (HoTT) (2013)&amp;#039;&amp;#039;&amp;#039; → A cutting-edge branch of math that merges type theory with &amp;quot;Geometry&amp;quot; (Topology), suggesting that types are actually &amp;quot;Shapes&amp;quot; in space.&lt;br /&gt;
&lt;br /&gt;
== Analyzing ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Dynamic vs. Static Typing&lt;br /&gt;
! Feature !! Dynamic (e.g., Python) !! Static (e.g., Rust/Typescript)&lt;br /&gt;
|-&lt;br /&gt;
| Speed of Writing || Fast (Just start typing) || Slow (Must define types)&lt;br /&gt;
|-&lt;br /&gt;
| Safety || Low (Errors happen at runtime) || High (Errors caught at compile time)&lt;br /&gt;
|-&lt;br /&gt;
| Flexibility || High (Variables can change type) || Low (Types are fixed)&lt;br /&gt;
|-&lt;br /&gt;
| Best For || Prototypes and Scripts || Safety-critical / Large systems&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The Concept of &amp;quot;Structural&amp;quot; vs. &amp;quot;Nominal&amp;quot; Typing&amp;#039;&amp;#039;&amp;#039;: Analyzing how things are named. In &amp;#039;&amp;#039;&amp;#039;Nominal&amp;#039;&amp;#039;&amp;#039; typing, two things are different if they have different &amp;quot;Names&amp;quot; (e.g., `User` and `Admin`). In &amp;#039;&amp;#039;&amp;#039;Structural&amp;#039;&amp;#039;&amp;#039; typing (like TypeScript), two things are the same if they &amp;quot;Look the same&amp;quot; (e.g., they both have a `name` and an `id`).&lt;br /&gt;
&lt;br /&gt;
== Evaluating ==&lt;br /&gt;
Evaluating type theory:&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;The &amp;quot;Billion Dollar Mistake&amp;quot;&amp;#039;&amp;#039;&amp;#039;: Why did we allow &amp;quot;Null&amp;quot; or &amp;quot;None&amp;quot; in our languages for so long? (Type theory proves that &amp;quot;Null&amp;quot; is a logical failure).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Verbosity&amp;#039;&amp;#039;&amp;#039;: Do types make code &amp;quot;Harder to read&amp;quot; for humans? (The &amp;quot;Java&amp;quot; problem where the type definitions are longer than the logic).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Type Inference&amp;#039;&amp;#039;&amp;#039;: Is it &amp;quot;Lazy&amp;quot; to let the computer guess the types, or is it &amp;quot;Efficient&amp;quot;?&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;The Limits of Math&amp;#039;&amp;#039;&amp;#039;: Can type theory describe &amp;quot;Everything&amp;quot;? (Or are there some parts of reality that are too &amp;quot;Fluid&amp;quot; to be typed?).&lt;br /&gt;
&lt;br /&gt;
== Creating ==&lt;br /&gt;
Future Frontiers:&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Verified Operating Systems&amp;#039;&amp;#039;&amp;#039;: Building entire OSs (like SeL4) where the &amp;quot;Type System&amp;quot; proves that the computer can never be hacked or crash.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Automatic Bug-Fixing&amp;#039;&amp;#039;&amp;#039;: AI that uses type theory to &amp;quot;Identify&amp;quot; a logical error and &amp;quot;Re-write&amp;quot; the code to satisfy the type rules.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Smart Contracts with Dependent Types&amp;#039;&amp;#039;&amp;#039;: Creating digital contracts (for money or law) where it is &amp;quot;Mathematically Impossible&amp;quot; to lose money or break the rules.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Biological Type Theory&amp;#039;&amp;#039;&amp;#039;: Using types to classify &amp;quot;Proteins&amp;quot; and &amp;quot;DNA sequences,&amp;quot; creating a &amp;quot;Typed Programming Language&amp;quot; for the human body.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Computer Science]]&lt;br /&gt;
[[Category:Logic]]&lt;br /&gt;
[[Category:Type Theory]]&lt;/div&gt;</summary>
		<author><name>Wordpad</name></author>
	</entry>
</feed>