<?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=Shakespeare_Programming_Language</id>
	<title>Shakespeare 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=Shakespeare_Programming_Language"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Shakespeare_Programming_Language&amp;action=history"/>
	<updated>2026-05-04T19:50:08Z</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=Shakespeare_Programming_Language&amp;diff=5144962&amp;oldid=prev</id>
		<title>imported&gt;Bender the Bot: HTTP to HTTPS for SourceForge</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Shakespeare_Programming_Language&amp;diff=5144962&amp;oldid=prev"/>
		<updated>2025-08-11T03:20:47Z</updated>

		<summary type="html">&lt;p&gt;HTTP to HTTPS for &lt;a href=&quot;/wiki143/index.php?title=SourceForge&quot; title=&quot;SourceForge&quot;&gt;SourceForge&lt;/a&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 03:20, 11 August 2025&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 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;{{Short description|Esoteric programming language}}&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;{{Short description|Esoteric programming language}}&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;The &#039;&#039;&#039;Shakespeare Programming Language&#039;&#039;&#039; (&#039;&#039;&#039;SPL&#039;&#039;&#039;) is an [[esoteric programming language]] designed by Jon Åslund and Karl Wiberg.&amp;lt;ref name=&quot;sourceforge&quot;&amp;gt;{{cite web |author-link=Shakespear |title=The Shakespeare Programming Language |url=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-url=https://web.archive.org/web/20220721085340/http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-date=2022-07-21}}&amp;lt;/ref&amp;gt; Like the [[Chef programming language#Chef|Chef programming language]], it is designed to make programs appear to be something other than programs — in this case, [[Shakespeare]]an plays.&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;The &#039;&#039;&#039;Shakespeare Programming Language&#039;&#039;&#039; (&#039;&#039;&#039;SPL&#039;&#039;&#039;) is an [[esoteric programming language]] designed by Jon Åslund and Karl Wiberg.&amp;lt;ref name=&quot;sourceforge&quot;&amp;gt;{{cite web |author-link=Shakespear |title=The Shakespeare Programming Language |url=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-url=https://web.archive.org/web/20220721085340/http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-date=2022-07-21}}&amp;lt;/ref&amp;gt; Like the [[Chef programming language#Chef|Chef programming language]], it is designed to make programs appear to be something other than programs — in this case, [[Shakespeare]]an plays.&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;A character list in the beginning of the program declares a number of [[stack (data structure)|stacks]], naturally with names like &amp;quot;Romeo&amp;quot; and &amp;quot;Juliet&amp;quot;. These characters enter into dialogue with each other in which they manipulate each other&amp;#039;s topmost values, push and pop each other, and do [[I/O]]. The characters can also ask each other questions which behave as [[Conditional (programming)|conditional statement]]s. On the whole, the programming model is very similar to [[assembly language]] but much more verbose.&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;A character list in the beginning of the program declares a number of [[stack (data structure)|stacks]], naturally with names like &amp;quot;Romeo&amp;quot; and &amp;quot;Juliet&amp;quot;. These characters enter into dialogue with each other in which they manipulate each other&amp;#039;s topmost values, push and pop each other, and do [[I/O]]. The characters can also ask each other questions which behave as [[Conditional (programming)|conditional statement]]s. On the whole, the programming model is very similar to [[assembly language]] but much more verbose.&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-l244&quot;&gt;Line 244:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 244:&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;== External links ==&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;== External links ==&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;* [https://shakespearelang.com/1.0/ Homepage]&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;* [https://shakespearelang.com/1.0/ Homepage]&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;http&lt;/del&gt;://sourceforge.net/projects/shakespearelang/ SourceForge page]&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;https&lt;/ins&gt;://sourceforge.net/projects/shakespearelang/ SourceForge page]&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;!-- * [http://people.csa.iisc.ernet.in/sreejith/frontends/spl/ GCC Frontend] (also has fuller language description) --&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;!-- * [http://people.csa.iisc.ernet.in/sreejith/frontends/spl/ GCC Frontend] (also has fuller language description) --&amp;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;* [http://developers.slashdot.org/article.pl?sid=01/08/31/1126253&amp;amp;mode=thread Shakespeare Programming Language] on [[Slashdot]]&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;* [http://developers.slashdot.org/article.pl?sid=01/08/31/1126253&amp;amp;mode=thread Shakespeare Programming Language] on [[Slashdot]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Bender the Bot</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Shakespeare_Programming_Language&amp;diff=399539&amp;oldid=prev</id>
		<title>imported&gt;GreenC bot: Move 1 url. Wayback Medic 2.5 per WP:URLREQ#motherboard.vice.com</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Shakespeare_Programming_Language&amp;diff=399539&amp;oldid=prev"/>
		<updated>2025-05-10T16:42:41Z</updated>

		<summary type="html">&lt;p&gt;Move 1 url. &lt;a href=&quot;/wiki143/index.php?title=User:GreenC/WaybackMedic_2.5&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:GreenC/WaybackMedic 2.5 (page does not exist)&quot;&gt;Wayback Medic 2.5&lt;/a&gt; per &lt;a href=&quot;/wiki143/index.php?title=WP:URLREQ&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:URLREQ (page does not exist)&quot;&gt;WP:URLREQ#motherboard.vice.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Esoteric programming language}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Shakespeare Programming Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SPL&amp;#039;&amp;#039;&amp;#039;) is an [[esoteric programming language]] designed by Jon Åslund and Karl Wiberg.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot;&amp;gt;{{cite web |author-link=Shakespear |title=The Shakespeare Programming Language |url=http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-url=https://web.archive.org/web/20220721085340/http://shakespearelang.sourceforge.net/report/shakespeare/shakespeare.html |archive-date=2022-07-21}}&amp;lt;/ref&amp;gt; Like the [[Chef programming language#Chef|Chef programming language]], it is designed to make programs appear to be something other than programs — in this case, [[Shakespeare]]an plays.&lt;br /&gt;
&lt;br /&gt;
A character list in the beginning of the program declares a number of [[stack (data structure)|stacks]], naturally with names like &amp;quot;Romeo&amp;quot; and &amp;quot;Juliet&amp;quot;. These characters enter into dialogue with each other in which they manipulate each other&amp;#039;s topmost values, push and pop each other, and do [[I/O]]. The characters can also ask each other questions which behave as [[Conditional (programming)|conditional statement]]s. On the whole, the programming model is very similar to [[assembly language]] but much more verbose.&lt;br /&gt;
&lt;br /&gt;
== Programming in Shakespeare ==&lt;br /&gt;
&lt;br /&gt;
=== Title ===&lt;br /&gt;
The first line in a Shakespeare program is called the &amp;#039;title&amp;#039;. The compiler considers anything from the first line to the first period to be a comment.&lt;br /&gt;
&lt;br /&gt;
=== Dramatis Personae ===&lt;br /&gt;
This is the section where variables are declared. Each variable can hold a signed integer value and is of the following form:&lt;br /&gt;
 Name, Description&lt;br /&gt;
Where &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; is the name of the variable and &amp;lt;code&amp;gt;Description&amp;lt;/code&amp;gt; is ignored by the compiler. The compiler will recognize only those names that correspond to actual Shakespearean characters.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acts and scenes ===&lt;br /&gt;
A piece of code in Shakespeare is broken into &amp;lt;code&amp;gt;Acts&amp;lt;/code&amp;gt; which contain &amp;lt;code&amp;gt;Scenes&amp;lt;/code&amp;gt; in which characters (variables) interact. Each &amp;lt;code&amp;gt;Act&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Scene&amp;lt;/code&amp;gt; is numbered with a Roman numeral and serves as a &amp;lt;code&amp;gt;GOTO&amp;lt;/code&amp;gt; label. Any code after the colon is considered a comment. They are written in the form:&lt;br /&gt;
 Act I: Hamlet&amp;#039;s insults and flattery.&lt;br /&gt;
 Scene I: The insulting of Romeo.&lt;br /&gt;
&lt;br /&gt;
=== Enter, exit and exeunt ===&lt;br /&gt;
Individual lines of code generally take the form of a piece of dialogue spoken by one character to another; this is how the value of a variable (the character spoken to) is assigned, changed, or output. A character can only be addressed as &amp;quot;You&amp;quot;, &amp;quot;Thou&amp;quot;, or &amp;quot;Thee&amp;quot;. Thus, there must typically be exactly two characters &amp;quot;on stage&amp;quot; whenever lines are spoken: one to speak, and the other to be spoken to.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt; To call a variable to the stage the &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; command is used with a list of one or more characters. The &amp;lt;code&amp;gt;Exit&amp;lt;/code&amp;gt; command tells exactly one listed character to leave the stage. &amp;lt;code&amp;gt;Exeunt&amp;lt;/code&amp;gt; calls more than one character to leave, or in the case that no characters are listed all the characters will leave the stage.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt; The following format is used:&lt;br /&gt;
 [Enter Juliet]&lt;br /&gt;
 [Enter Romeo and Juliet]&lt;br /&gt;
 [Exit Romeo]&lt;br /&gt;
 [Exeunt Romeo and Juliet]&lt;br /&gt;
 [Exeunt]&lt;br /&gt;
&lt;br /&gt;
=== Lines ===&lt;br /&gt;
Lines are represented as dialogue spoken by a character, and consist of at least one sentence. Each sentence may assign a new value to a variable, direct a variable to output its value, or direct it to receive an input. Lines can also manipulate stacks or act as if/then or goto statements. A line starts with a character&amp;#039;s name and a colon. Since this character is the speaker, the other character on stage is the variable that is addressed as &amp;quot;You&amp;quot;, &amp;quot;Thou&amp;quot;, or &amp;quot;Thee&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Constants and assignment of values ====&lt;br /&gt;
Constants are represented by combinations of nouns and adjectives; the language recognizes a finite list of each, and both lists are separated into those having positive, negative, or neutral tone, as perceived by Åslund and Hasselström. Positive and neutral nouns have a value of 1 and negative nouns have a value of -1. Any adjective multiplies a noun by 2, and adjectives can be compounded.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt; Possessive pronouns are ignored by the parser, while words pertaining to basic arithmetic are recognized as operations, such as &amp;quot;sum&amp;quot;, &amp;quot;quotient&amp;quot;, and &amp;quot;cube&amp;quot;. A sentence that assigns a value to a character starts with &amp;quot;You&amp;quot;, &amp;quot;Thou&amp;quot;, or &amp;quot;Thee&amp;quot;, may optionally continue with &amp;quot;are as [any adjective] as&amp;quot;, and then gives the mathematical formula in nouns, adjectives, variables, and operations for the new value. Examples of such lines follow:&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt;&lt;br /&gt;
 Hamlet:&lt;br /&gt;
  You lying stupid fatherless big smelly half-witted coward!&lt;br /&gt;
 &lt;br /&gt;
 Juliet:&lt;br /&gt;
  You are as villainous as the square root of Romeo!&lt;br /&gt;
&lt;br /&gt;
The mathematical formulae can also use the names of other characters (even if those characters are not on stage) to utilize the current value of that character in a computation, or &amp;quot;yourself&amp;quot; or &amp;quot;thyself&amp;quot; for the character being spoken to.&lt;br /&gt;
&lt;br /&gt;
==== Input and output ====&lt;br /&gt;
Lines can also call for a variable to give output or receive input. &amp;quot;Open your heart&amp;quot; outputs the variable&amp;#039;s numerical value, while &amp;quot;Speak your mind&amp;quot; outputs the corresponding ASCII character. &amp;quot;Listen to your heart&amp;quot; or &amp;quot;Open your mind&amp;quot; cause the variable to receive input from the user; the former for a number and the latter for a character.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Conditional statements and gotos ====&lt;br /&gt;
An if/then statement is phrased as a question posed by a character. The words &amp;quot;as [any adjective] as&amp;quot; represent a test for equality, while &amp;quot;better&amp;quot; and &amp;quot;worse&amp;quot; correspond to greater than and less than, respectively. A subsequent line, starting &amp;quot;if so&amp;quot; or &amp;quot;if not&amp;quot;, determines what happens in response to the truth or falsehood of the original condition. A goto statement begins &amp;quot;Let us&amp;quot;, &amp;quot;We shall&amp;quot;, or &amp;quot;We must&amp;quot;, continues &amp;quot;return to&amp;quot; or &amp;quot;proceed to&amp;quot;, and then gives an act or scene. A scene will be parsed as that scene in the current act; a goto statement cannot call a scene in a different act.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt; A conditional statement to call a goto would look like this:&amp;lt;ref name=&amp;quot;sourceforge&amp;quot; /&amp;gt;&lt;br /&gt;
 Juliet:&lt;br /&gt;
  Am I better than you?&lt;br /&gt;
 &lt;br /&gt;
 Hamlet:&lt;br /&gt;
  If so, let us proceed to scene II.&lt;br /&gt;
&lt;br /&gt;
==== Pushing and popping stacks ====&lt;br /&gt;
Each variable is a [[Stack (abstract data type)|stack]]. A variable will have an integer pushed onto its stack if a line tells the character to &amp;quot;remember&amp;quot; an appropriate value, such as &amp;quot;Remember me&amp;quot;, or &amp;quot;Remember yourself&amp;quot;. The topmost value in the stack is popped (i.e., the variable assumes this value) if the character is told to &amp;quot;recall&amp;quot; anything; all text after this word is treated as a comment.&amp;lt;ref name=&amp;quot;sourceforge&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example code ==&lt;br /&gt;
The standard [[&amp;quot;Hello, World!&amp;quot; program]]:&lt;br /&gt;
&lt;br /&gt;
The idea is to generate the [[ASCII printable character|ASCII values]] for each character of the string and print it using the &amp;quot;Speak your mind&amp;quot; command. For instance, the first line of dialog said by Hamlet uses a combination of arithmetic operations to assign the decimal value 72 (binary 1001000) to the other protagonist Romeo, which in ASCII corresponds to the letter &amp;#039;H&amp;#039;.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Do Not Adieu, a play in two acts.&lt;br /&gt;
&lt;br /&gt;
Romeo, a young man with a remarkable patience.&lt;br /&gt;
Juliet, a likewise young woman of remarkable grace.&lt;br /&gt;
Ophelia, a remarkable woman much in dispute with Hamlet.&lt;br /&gt;
Hamlet, the flatterer of Andersen Insulting A/S.&lt;br /&gt;
&lt;br /&gt;
                    Act I: Hamlet&amp;#039;s insults and flattery.&lt;br /&gt;
&lt;br /&gt;
                    Scene I: The insulting of Romeo.&lt;br /&gt;
&lt;br /&gt;
[Enter Hamlet and Romeo]&lt;br /&gt;
&lt;br /&gt;
Hamlet:&lt;br /&gt;
 You lying stupid fatherless big smelly half-witted coward!&lt;br /&gt;
 You are as stupid as the difference between a handsome rich brave&lt;br /&gt;
 hero and thyself! Speak your mind!&lt;br /&gt;
&lt;br /&gt;
 You are as brave as the sum of your fat little stuffed misused dusty&lt;br /&gt;
 old rotten codpiece and a beautiful fair warm peaceful sunny summer&amp;#039;s&lt;br /&gt;
 day. You are as healthy as the difference between the sum of the&lt;br /&gt;
 sweetest reddest rose and my father and yourself! Speak your mind!&lt;br /&gt;
&lt;br /&gt;
 You are as cowardly as the sum of yourself and the difference&lt;br /&gt;
 between a big mighty proud kingdom and a horse. Speak your mind.&lt;br /&gt;
&lt;br /&gt;
 Speak your mind!&lt;br /&gt;
&lt;br /&gt;
[Exit Romeo]&lt;br /&gt;
&lt;br /&gt;
                    Scene II: The praising of Juliet.&lt;br /&gt;
&lt;br /&gt;
[Enter Juliet]&lt;br /&gt;
&lt;br /&gt;
Hamlet:&lt;br /&gt;
 Thou art as sweet as the sum of the sum of Romeo and his horse and his&lt;br /&gt;
 black cat! Speak thy mind!&lt;br /&gt;
&lt;br /&gt;
[Exit Juliet]&lt;br /&gt;
&lt;br /&gt;
                    Scene III: The praising of Ophelia.&lt;br /&gt;
&lt;br /&gt;
[Enter Ophelia]&lt;br /&gt;
&lt;br /&gt;
Hamlet:&lt;br /&gt;
&lt;br /&gt;
 Thou art as beautiful as the difference between Romeo and the square&lt;br /&gt;
 of a huge green peaceful tree. Speak thy mind!&lt;br /&gt;
&lt;br /&gt;
 Thou art as lovely as the product of a large rural town and my amazing&lt;br /&gt;
 bottomless embroidered purse. Speak thy mind!&lt;br /&gt;
&lt;br /&gt;
 Thou art as loving as the product of the bluest clearest sweetest sky&lt;br /&gt;
 and the sum of a squirrel and a white horse. Thou art as beautiful as&lt;br /&gt;
 the difference between Juliet and thyself. Speak thy mind!&lt;br /&gt;
&lt;br /&gt;
[Exeunt Ophelia and Hamlet]&lt;br /&gt;
&lt;br /&gt;
                    Act II: Behind Hamlet&amp;#039;s back.&lt;br /&gt;
&lt;br /&gt;
                    Scene I: Romeo and Juliet&amp;#039;s conversation.&lt;br /&gt;
&lt;br /&gt;
[Enter Romeo and Juliet]&lt;br /&gt;
&lt;br /&gt;
Romeo:&lt;br /&gt;
 Speak your mind. You are as worried as the sum of yourself and the&lt;br /&gt;
 difference between my small smooth hamster and my nose. Speak your&lt;br /&gt;
 mind!&lt;br /&gt;
&lt;br /&gt;
Juliet:&lt;br /&gt;
 Speak YOUR mind! You are as bad as Hamlet! You are as small as the&lt;br /&gt;
 difference between the square of the difference between my little pony&lt;br /&gt;
 and your big hairy hound and the cube of your sorry little&lt;br /&gt;
 codpiece. Speak your mind!&lt;br /&gt;
&lt;br /&gt;
[Exit Romeo]&lt;br /&gt;
&lt;br /&gt;
                    Scene II: Juliet and Ophelia&amp;#039;s conversation.&lt;br /&gt;
&lt;br /&gt;
[Enter Ophelia]&lt;br /&gt;
&lt;br /&gt;
Juliet:&lt;br /&gt;
 Thou art as good as the quotient between Romeo and the sum of a small&lt;br /&gt;
 furry animal and a leech. Speak your mind!&lt;br /&gt;
&lt;br /&gt;
Ophelia:&lt;br /&gt;
 Thou art as disgusting as the quotient between Romeo and twice the&lt;br /&gt;
 difference between a mistletoe and an oozing infected blister! Speak&lt;br /&gt;
 your mind!&lt;br /&gt;
&lt;br /&gt;
[Exeunt]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Natural language programming]]&lt;br /&gt;
* [[Esoteric programming language]]&lt;br /&gt;
* [[Inform 7]]&lt;br /&gt;
* [[Timeline of programming languages]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
===Inline references===&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
===General references===&lt;br /&gt;
&amp;lt;!-- Note that these are not strictly speaking cited in the article directly, although they do support its contents, and so should probably be in &amp;quot;Further reading&amp;quot; instead. I just didn&amp;#039;t have the time/inclination to actually cite them inline. --&amp;gt;&lt;br /&gt;
{{refbegin|30em}}&lt;br /&gt;
*{{cite web&lt;br /&gt;
  |title = The A-Z of Programming Languages: Shakespeare&lt;br /&gt;
  |last = Herrick&lt;br /&gt;
  |first = Chloe&lt;br /&gt;
  |date = 27 June 2011&lt;br /&gt;
  |work = [[Computerworld]]&lt;br /&gt;
  |url = https://www.computerworld.com.au/article/391510/a-z_programming_languages_shakespeare/&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  |archive-date = 11 November 2018&lt;br /&gt;
  |archive-url = https://web.archive.org/web/20181111000223/https://www.computerworld.com.au/article/391510/a-z_programming_languages_shakespeare/&lt;br /&gt;
  |url-status = dead&lt;br /&gt;
  }}&lt;br /&gt;
*{{cite web&lt;br /&gt;
  |title = Know Your Language: Coding Toil and Trouble with Shakespeare&lt;br /&gt;
  |last = Byrne&lt;br /&gt;
  |first = Michael&lt;br /&gt;
  |date = 26 September 2015&lt;br /&gt;
  |work = [[Motherboard]]&lt;br /&gt;
  |url = https://www.vice.com/en/article/know-your-language-coding-toil-and-trouble-with-shakespeare/&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  }}&lt;br /&gt;
*{{cite web&lt;br /&gt;
  |title = Esoteric Programming, Teil 2: Shakespeare Programming Language&lt;br /&gt;
  |last1 = Lang&lt;br /&gt;
  |first1 = Mirco&lt;br /&gt;
  |last2 = Augsten&lt;br /&gt;
  |first2 = Stephan&lt;br /&gt;
  |date = 12 July 2017&lt;br /&gt;
  |work = dev-insider.de&lt;br /&gt;
  |url = https://www.dev-insider.de/shakespeare-programming-language-a-617430/&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  |language = de&lt;br /&gt;
  }}&lt;br /&gt;
*{{cite web&lt;br /&gt;
  |title = Shakespeare Programming Language&lt;br /&gt;
  |last = Nelson&lt;br /&gt;
  |first = Andy&lt;br /&gt;
  |date = 2 March 2014&lt;br /&gt;
  |work = English Theater and Literature in London&lt;br /&gt;
  |url = https://apps.carleton.edu/curricular/ocs/london/archive/2014/blog/?story_id=1109315&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  }}&lt;br /&gt;
*{{cite news&lt;br /&gt;
  |title = Aus dem Alltag eines Sysadmin: Shakespeare Programming Language&lt;br /&gt;
  |last = Kühnast&lt;br /&gt;
  |first = Charly&lt;br /&gt;
  |date = December 2010&lt;br /&gt;
  |work = [[Linux-Magazin]]&lt;br /&gt;
  |url = http://www.linux-magazin.de/ausgaben/2010/12/die-ganze-welt-ist-eine-buehne/&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  |language = de-DE&lt;br /&gt;
  }}&lt;br /&gt;
*{{cite book&lt;br /&gt;
  |title = Coding Literacy: How Computer Programming is Changing Writing&lt;br /&gt;
  |last = Vee&lt;br /&gt;
  |first = Annette&lt;br /&gt;
  |publisher = [[MIT Press]]&lt;br /&gt;
  |year = 2017&lt;br /&gt;
  |isbn = 9780262036245&lt;br /&gt;
  |location = Cambridge, MA&lt;br /&gt;
  |pages = 124–125&lt;br /&gt;
}}&lt;br /&gt;
*{{cite web&lt;br /&gt;
  |title = StackHack - Shakespeare Programming Language - Datorföreningen Stacken&lt;br /&gt;
  |last = &lt;br /&gt;
  |first = &lt;br /&gt;
  |date = &lt;br /&gt;
  |website = www.stacken.kth.se&lt;br /&gt;
  |language = sv&lt;br /&gt;
  |url = https://www.stacken.kth.se/projects/stackhack/shakespeare-programming-language/&lt;br /&gt;
  |access-date = 10 November 2018&lt;br /&gt;
  }}&lt;br /&gt;
{{refend}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://shakespearelang.com/1.0/ Homepage]&lt;br /&gt;
* [http://sourceforge.net/projects/shakespearelang/ SourceForge page]&lt;br /&gt;
&amp;lt;!-- * [http://people.csa.iisc.ernet.in/sreejith/frontends/spl/ GCC Frontend] (also has fuller language description) --&amp;gt;&lt;br /&gt;
* [http://developers.slashdot.org/article.pl?sid=01/08/31/1126253&amp;amp;mode=thread Shakespeare Programming Language] on [[Slashdot]]&lt;br /&gt;
* [http://www.computerworld.com.au/article/391510/a-z_programming_languages_shakespeare/ The A-Z of Programming Languages: Shakespeare] on [[Computerworld]]&lt;br /&gt;
* [https://shakespearelang.com/ SPL Interpreter written in Python] ([https://github.com/zmbc/shakespearelang/ GitHub repository])&lt;br /&gt;
* [https://github.com/drsam94/Spl/ Shakespeare to C Compiler written in Python] on [[GitHub]]&lt;br /&gt;
* [https://web.archive.org/web/20140716112704/http://shakespearelang.org/ shakespearelang.org]&lt;br /&gt;
* [https://esolangpark.vercel.app/ide/shakespeare Online interpreter and debugger]&lt;br /&gt;
&lt;br /&gt;
[[Category:Esoteric programming languages]]&lt;br /&gt;
[[Category:William Shakespeare]]&lt;br /&gt;
{{Esoteric programming languages}}&lt;/div&gt;</summary>
		<author><name>imported&gt;GreenC bot</name></author>
	</entry>
</feed>