<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GBGamer117</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GBGamer117"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/GBGamer117"/>
		<updated>2026-04-19T17:13:57Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=686:_Admin_Mourning&amp;diff=76637</id>
		<title>686: Admin Mourning</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=686:_Admin_Mourning&amp;diff=76637"/>
				<updated>2014-10-03T04:45:51Z</updated>
		
		<summary type="html">&lt;p&gt;GBGamer117: /* Explanation */ Removed &amp;quot;old fashioned&amp;quot;. New Unix-like systems do it the exact same way.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 686&lt;br /&gt;
| date      = January 8, 2010&lt;br /&gt;
| title     = Admin Mourning&lt;br /&gt;
| image     = admin_mourning.png&lt;br /&gt;
| titletext = And every day it gets harder to fight the urge to su to the user and freak people out.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
The background images show the output from the &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; command of Unix-like computer systems, which lists all running processes including all interactive users logged in to the server. If a user does not log out, their processes would continue to run until stopped by a reboot. If some specific user dies while logged in, the running sessions still appear in the &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; output and be a reminder to other users. This comic depicts an administrator unwilling to reboot a machine that has still running processes from a deceased user named &amp;quot;sam&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When a session is closed its descendent processes sent the HUP (Hang-up) signal, which normally causes them to terminate. However, the popular utility {{w|GNU_Screen|screen}} enables a user to detach and reattach that output, thus surviving over sessions.&lt;br /&gt;
&lt;br /&gt;
The final joke refers to the command line interface being called a {{w|Shell (computing)|shell}}, and to a particular type of shell called zshell (&amp;lt;code&amp;gt;/bin/zsh&amp;lt;/code&amp;gt; in the final panel), making a [[wikt:ze#Etymology 1|pun]] with the expression &amp;quot;{{w|Ghost in the Shell}}&amp;quot;, which is the title of a popular manga series, originally derived from the expression &amp;quot;{{w|ghost in the machine}}&amp;quot;, used by philosopher {{w|Gilbert Ryle}} to describe Descartes' theory of mind-body dualism.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;su to the user&amp;quot; refers to use the ability of an administrator — i.e. root or admin user — to switch to another user account (using the {{w|su (Unix)|&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt; command}}) without needing the target user's password, as would normally be necessary, which in this case would give the impression that sam's ghost were using the account.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[The text is over a white-on-black terminal showing a bit of output from ps -el, with processes running from root and sam.]&lt;br /&gt;
:When a user dies, their connections time out,&lt;br /&gt;
:but their screen sessions linger.&lt;br /&gt;
&lt;br /&gt;
:[The end of the command line is a |grep sam.]&lt;br /&gt;
:The server's uptime grows&lt;br /&gt;
:because you can't bring yourself to reboot&lt;br /&gt;
&lt;br /&gt;
:and wipe out&lt;br /&gt;
:their last earthly presence&lt;br /&gt;
&lt;br /&gt;
:[The processes listed are screen, zsh, irssi, and grep sam.]&lt;br /&gt;
:the ghost in zshell.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Computers]]&lt;/div&gt;</summary>
		<author><name>GBGamer117</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1288:_Substitutions&amp;diff=52604</id>
		<title>Talk:1288: Substitutions</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1288:_Substitutions&amp;diff=52604"/>
				<updated>2013-11-12T23:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;GBGamer117: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We need a web plugin that does this automatically, stat! [[Special:Contributions/141.101.99.216|141.101.99.216]] 11:36, 8 November 2013 (UTC)&lt;br /&gt;
::Lol, I was just thinking the same thing! I was only meaning to post that in the discussion but saw that nobody had done the explanation yet. There goes a good chunk of my day :/ [[User:Zyxuvius|Zyxuvius]] ([[User talk:Zyxuvius|talk]]) 11:55, 8 November 2013 (UTC)&lt;br /&gt;
:::: Came here just to say this. Please post links to the unofficial xkcd news substitution tool as soon as it becomes available :P -- [[Special:Contributions/173.245.51.223|173.245.51.223]] 13:41, 8 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::It already exists for Firefox: https://addons.mozilla.org/en-US/firefox/addon/foxreplace/ This addon allows you to create substitution lists that will automatically be applied to web pages. -- [[Special:Contributions/173.245.51.210|173.245.51.210]] 13:39, 8 November 2013 (UTC)&lt;br /&gt;
:::: And here's an URL for the abovementioned FoxReplace addon. Just import it, and it will do the substitutions listed in this XKCD comic: https://www.dropbox.com/s/36eq2xgnmv8obpe/XKCD.json {{unsigned ip|173.245.51.210}}&lt;br /&gt;
&lt;br /&gt;
::I threw this together this morning for Chrome: https://github.com/ChrisMagellan/Make-News-Funny/ Note that you need to enable developer mode in your Extensions settings. {{unsigned ip|108.162.219.29}}&lt;br /&gt;
:::: Oh God! Thank you! I'm trying not to laugh too loudly at work. This is hilarious [http://www.nytimes.com/2013/11/01/us/politics/book-details-consideration-of-replacing-biden-on-2012-ticket.html?pagewanted=all&amp;amp;_r=0|&amp;quot;While last year’s grind of an eating contest lacked the drama of the 2008 race ...&amp;quot;] -- [[Special:Contributions/173.245.51.223|173.245.51.223]] 15:01, 8 November 2013 (UTC)&lt;br /&gt;
::::How do I install it? [[User:Whitecat|Whitecat]] ([[User talk:Whitecat|talk]])&lt;br /&gt;
&lt;br /&gt;
::As a userscript that should work with Scriptish, Greasemonkey or anything else that supports userscripts: https://gist.github.com/mcef/7376276 (click to install: https://gist.github.com/mcef/7376276/raw/e0b7a3ca2a65b8809a48241a92f265ae479c9e99/1288.user.js)&lt;br /&gt;
::Add other news sites on the top or just tell me and I'll add them. [[User:Mcef|mcef]] ([[User talk:Mcef|talk]]) 19:57, 8 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
::For those who don't want to install anything in their browsers, here is a bookmarklet. To use it, create a new bookmark and insert the following code as location&lt;br /&gt;
 javascript:(function(){var%20map={these dudes I know:&amp;quot;These%20dudes%20I%20know&amp;quot;,&amp;quot;kinda probably&amp;quot;:&amp;quot;Kinda%20probably&amp;quot;,&amp;quot;new%20study&amp;quot;:&amp;quot;Tumbl%20post&amp;quot;,avenge:&amp;quot;Avenge&amp;quot;,SPAAACE:&amp;quot;Spaaace&amp;quot;,&amp;quot;google%20glass&amp;quot;:&amp;quot;Virtual%20Boy&amp;quot;,Pokédex:&amp;quot;Pokedex&amp;quot;,atomic:&amp;quot;Atomic&amp;quot;,Elf-Lord:&amp;quot;Elf-lord&amp;quot;,cat:&amp;quot;Cat&amp;quot;,eating contest:&amp;quot;Eating%20contest&amp;quot;,&amp;quot;congressional%20leaders&amp;quot;:&amp;quot;River%20spirits&amp;quot;,&amp;quot;homeland%20security&amp;quot;:&amp;quot;Homestart%20Runner&amp;quot;,&amp;quot;could%20not%20be%20reached%20for%20comment&amp;quot;:&amp;quot;Is%20guilty%20and%20everyone%20knows%20it&amp;quot;};var%20b=document.getElementsByTagName('body')[0];b.innerHTML=b.innerHTML.replace(/new%20study|google%20glass|congressional%20leaders|homeland%20security|could%20not%20be%20reached%20for%20comment|\w+/gi,function($0){return map[$0.toLowerCase()]||$0});})()&amp;lt;br&amp;gt;&lt;br /&gt;
::--[[Special:Contributions/173.245.53.128|173.245.53.128]] 20:44, 8 November 2013 (UTC)&lt;br /&gt;
:::: You've made the wrong script.  This is the correct one:  &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
javascript:&lt;br /&gt;
(function(){&lt;br /&gt;
	var map={&lt;br /&gt;
		these dudes I know:&amp;quot;These dudes I know&amp;quot;,&lt;br /&gt;
		kinda probably:&amp;quot;Kinda probably&amp;quot;,&lt;br /&gt;
		&amp;quot;Tumblr post&amp;quot;:&amp;quot;Tumbl post&amp;quot;,&lt;br /&gt;
		avenge:&amp;quot;Avenge&amp;quot;,&lt;br /&gt;
		SPAAACE:&amp;quot;Spaaace&amp;quot;,&lt;br /&gt;
		&amp;quot;Virtual Boy&amp;quot;:&amp;quot;Virtual Boy&amp;quot;,&lt;br /&gt;
		Pokédex:&amp;quot;Pokedex&amp;quot;,&lt;br /&gt;
		atomic:&amp;quot;Atomic&amp;quot;,&lt;br /&gt;
		Elf-Lord:&amp;quot;Elf-lord&amp;quot;,&lt;br /&gt;
		cat:&amp;quot;Cat&amp;quot;,&lt;br /&gt;
		eating contest:&amp;quot;Eating contest&amp;quot;,&lt;br /&gt;
		&amp;quot;river spirits&amp;quot;:&amp;quot;River spirits&amp;quot;,&lt;br /&gt;
		&amp;quot;Homestar Runner&amp;quot;:&amp;quot;Homestart Runner&amp;quot;,&lt;br /&gt;
		&amp;quot;is guilty and everyone knows it&amp;quot;:&amp;quot;Is guilty and everyone knows it&amp;quot;};&lt;br /&gt;
var b=document.getElementsByTagName('body')[0];&lt;br /&gt;
b.innerHTML=b.innerHTML.replace(&lt;br /&gt;
/Tumblr post&lt;br /&gt;
|Virtual Boy&lt;br /&gt;
|river spirits&lt;br /&gt;
|Homestar Runner&lt;br /&gt;
|is guilty and everyone knows it&lt;br /&gt;
|\w+/gi,function($0){&lt;br /&gt;
	return map[$0.toLowerCase()]||$0});})()  &lt;br /&gt;
&amp;lt;/pre&amp;gt;  &lt;br /&gt;
[[Special:Contributions/173.245.51.221|173.245.51.221]] 08:45, 9 November 2013 (UTC) &lt;br /&gt;
&lt;br /&gt;
Is &amp;quot;Homestar runner&amp;quot; a reference to something I'm not cool enough to get? [[User:Djbrasier|Djbrasier]] ([[User talk:Djbrasier|talk]]) 20:49, 8 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
::http://www.homestarrunner.com/{{unsigned ip|108.162.219.6}}&lt;br /&gt;
&lt;br /&gt;
I created a plugin for Chrome and Opera, available here: http://www.joshmedeiros.net/XKCD%20Substitutions/ [[Special:Contributions/108.162.242.120|108.162.242.120]] 09:16, 9 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
The Virtual Boy is a oversized *portable* console. [[Special:Contributions/173.245.54.88|173.245.54.88]] 13:34, 10 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Pigs In Spaaaaace! {{unsigned ip|108.162.219.33}}&lt;br /&gt;
&lt;br /&gt;
That &amp;quot;space&amp;quot; switched for &amp;quot;SPAAAACE&amp;quot; is so much fun when reading about namespaces in C++, for example. I was reading the Go tutorial today... Try it. [[User:GBGamer117|GBGamer117 &amp;amp;#62; /dev/null]] ([[User talk:GBGamer117|talk]]) 23:57, 12 November 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>GBGamer117</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=518:_Flow_Charts&amp;diff=51180</id>
		<title>518: Flow Charts</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=518:_Flow_Charts&amp;diff=51180"/>
				<updated>2013-10-25T06:39:02Z</updated>
		
		<summary type="html">&lt;p&gt;GBGamer117: /* Explanation */ Made it sound better.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 518&lt;br /&gt;
| date      = December 17, 2008&lt;br /&gt;
| title     = Flow Charts&lt;br /&gt;
| image     = flow_charts.png&lt;br /&gt;
| titletext = At 8 drinks, you switch the torrent from FreeBSD to Microsoft Bob. C'mon, it'll be fun!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{w|Flowchart|Flowcharts}} are diagrams that represent processes in a graphical form. While predominantly used in {{w|computer programming}} to visualise the structure of source code, flowcharts can in theory be used to depict any real or virtual procedure. In this comic, this idea is subverted by employing a flowchart to explain flowcharts itself. As for reading the flowchart prior knowledge on how to read a flowchart is required, the comic induces a {{w|deadlock|deadlocked}} situation.&lt;br /&gt;
&lt;br /&gt;
Moreover, the functionality of flowcharts is quite intuitive, thus rendering the attempted self-description in the comic obsolete. In fact, due to the self-explanatory nature of flowcharts, the one provided in the comic does not even explain the manner of functioning: It only confirms their capability to those who already know how to use it. Someone who contradicts himself by claiming he does not see the arrows albeit following them is left with the message &amp;quot;I hate you&amp;quot; in End-Box 2b. For everyone else, the chart inevitably leads to the &amp;quot;Let's go drink&amp;quot; box, which gives rise to the assumption that the whole chart was only a pretence for drinking.&lt;br /&gt;
&lt;br /&gt;
{{w|FreeBSD}} is a {{w|unixoid}} operating system for computers which is generally considered to require advanced skills. The question whether {{w|Linux}} or (Free)BSD is the preferable operating system is a question of belief to some. The comic takes sides against FreeBSD by implying that one would only install it in a state of insobriety.&lt;br /&gt;
&lt;br /&gt;
The title text mentions {{w|Microsoft Bob}}, a software package published in 1995 by {{w|Microsoft}}. The product was targeted towards beginners and therefore provides the user with a cartoon-style interface instead of a productive environment. While being a commercial failure, the system serves as an insider joke between IT professionals even still.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:A guide to UNDERSTANDING FLOW CHARTS presented in flow chart form.&lt;br /&gt;
:Box 0: Start&lt;br /&gt;
::[Arrow to Box 1.]&lt;br /&gt;
:Box 1: Do you understand flow charts?&lt;br /&gt;
::[Arrow to Box 2.] Yes&lt;br /&gt;
::[Arrow to Box 4.] No&lt;br /&gt;
:Box 2: Good&lt;br /&gt;
::[Arrow to Box 3.] Yes&lt;br /&gt;
:Box 3: Let's go drink.&lt;br /&gt;
::[Arrow to Final Box.] 6 Drinks&lt;br /&gt;
:Box 4: Okay. You see the line labeled &amp;quot;Yes&amp;quot;?&lt;br /&gt;
::[Arrow to Box 6.] Yes&lt;br /&gt;
::[Arrow to Box 5.] No&lt;br /&gt;
:Box 5: But you see the ones labeled &amp;quot;No&amp;quot;.&lt;br /&gt;
::[Arrow to End-Box 1.] Yes&lt;br /&gt;
::[Arrow to End-Box 2a.] No&lt;br /&gt;
:End-Box 1: Wait, what?&lt;br /&gt;
::[No Arrows.]&lt;br /&gt;
:End-Box 2a: Listen.&lt;br /&gt;
::[Arrow to End-Box 2b.]&lt;br /&gt;
:End-Box 2b: I hate you.&lt;br /&gt;
::[No Arrows.]&lt;br /&gt;
:Box 6: ...and you can see the ones labeled &amp;quot;No&amp;quot;?&lt;br /&gt;
::[Arrow to Box 3.] Yes&lt;br /&gt;
::[Arrow to Box 7.] No&lt;br /&gt;
:Box 7: But you just followed them twice!&lt;br /&gt;
::[Arrow to Box 8a.] Yes&lt;br /&gt;
::[Arrow to Box 8a.] No&lt;br /&gt;
:Box 8a: (That wasn't a question.)&lt;br /&gt;
::[Arrow to Box 8b.]&lt;br /&gt;
:Box 8b: Screw it.&lt;br /&gt;
::[Arrow to Box 3.]&lt;br /&gt;
:Final Box: Hey I should try installing FreeBSD!&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Flowcharts]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Computers]]&lt;/div&gt;</summary>
		<author><name>GBGamer117</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1271:_Highlighting&amp;diff=50025</id>
		<title>Talk:1271: Highlighting</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1271:_Highlighting&amp;diff=50025"/>
				<updated>2013-10-05T06:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;GBGamer117: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I used to think I was crazy, but this webcomic tells me I'm not alone. It has nothing to do with marking your place as your reading, its more or less just something to keep your hands busy while reading an article. It does drive other people crazy. [[User:HardKase|HardKase]] ([[User talk:HardKase|talk]]) 02:11, 1 October 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Personally, I dislike it when the highlighted area includes either the beginning indent/tab or the ending indent/tab, so according to my standards, I'm satisfied with the highlighting in paragraphs 1-3, but not with 4-6. &amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;Saibot84&amp;lt;/span&amp;gt; 04:33, 30 September 2013 (UTC)&lt;br /&gt;
:There is nothing marked in paragraph 6, is there? --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 07:07, 30 September 2013 (UTC)&lt;br /&gt;
::@Chtz, no there's nothing highlighted in paragraph 6, I meant &amp;quot;mark&amp;quot; as the score it was given. And while I'm here, I just noticed Randall corrected the spelling of &amp;quot;highlighted&amp;quot; in the text below the image. Should someone re-upload the image here? &amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;Saibot84&amp;lt;/span&amp;gt; 13:21, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why does he spell highlight like &amp;quot;hilight&amp;quot;? [[Special:Contributions/62.209.198.2|62.209.198.2]] 06:47, 30 September 2013 (UTC)&lt;br /&gt;
:Good question. Wiktionary allows {{Wiktionary|hilite}} as ''informal'', but says that {{Wiktionary|hilight}} is a &amp;quot;common misspelling&amp;quot;. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 07:07, 30 September 2013 (UTC)&lt;br /&gt;
::I assumed the poor spelling was a subtle way of poking fun at a site that would do something as stupid as trying to prohibit highlighting. —[[User:Scs|Scs]] ([[User talk:Scs|talk]]) 03:20, 1 October 2013 (UTC)&lt;br /&gt;
:It seems the comic has now changed to spelling it &amp;quot;highlight&amp;quot; [[Special:Contributions/87.198.51.178|87.198.51.178]] 21:56, 1 October 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I'm so used to doing this that I know a few tricks and tiny strips of areas to click on in order to achieve symmetry in some tricky situations. [[Special:Contributions/131.215.169.224|131.215.169.224]] 07:53, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
: On some pages, I spent more time getting the highlights right than actually reading it --[[Special:Contributions/141.89.226.146|141.89.226.146]] 08:06, 30 September 2013 (UTC)&lt;br /&gt;
: You will all certainly hate Confluence's new editing of code. One micrometer and your h/l is undone {{unsigned ip|145.64.134.242}}&lt;br /&gt;
&lt;br /&gt;
The most frustrating thing when it comes to highlighting: willing to select text on a long line (such as source code with no word wrap) only to have the mouse cursor move out of line, sabotaging your selection and location in the text. When pages are wider than the visible area, it should not jump to the left side when there are empty lines above/below a long line and you drag the selection up/down, instead, it should scroll left only as you drag the selection to the left. [[Special:Contributions/213.163.40.100|213.163.40.100]] 08:11, 30 September 2013 (UTC)&lt;br /&gt;
:If you have source code extensively above your horizontal screen size, you either have a very small screen or you should rethink your coding style. ;) --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 08:35, 30 September 2013 (UTC)&lt;br /&gt;
:The most frustrating thing for ''me'' is mouse-selection (though thankfully not keyboard-selection) tends in my experience to assume that a mid-selected word means &amp;quot;the start of the word as well&amp;quot;, at least in a browser context. Especially in forum conversations, when you get '&amp;lt;nowiki&amp;gt;[quote=&amp;quot;oneperson&amp;quot;][quote=&amp;quot;ofanotherperson&amp;quot;]Blah[/quote]Replyblah[/quote]&amp;lt;/nowiki&amp;gt;' to reply to, and you want to highlight and excise the inner quote, for brevity, it often adjusts to include the &amp;quot;] after the &amp;quot;oneperson&amp;quot;.  Which is annoying and breaks your BBCode if you don't notice what you also accidentally deleted, and correct for it.&lt;br /&gt;
:Outside of such forum specifics, example 4 looks like a successfully chosen entire DIV-block.  Which is a handy thing to be able to do, sometimes, but as long as you aren't ''forced'' to do so (beyond the &amp;quot;reading guide&amp;quot; purpose for the highlighting, with optional OCD, when it's probably not of concern).  And watch out (as a variant of the title text) that the ''entire'' text block hasn't been A HREFed or similar (popular, these days, seemingly to cater for messy touchscreen tablet navigation, sometimes even without a navigate-to cursor change).  This is why I have a Perl application that will politely scrape regularly-viewed pages, regexp and reformat as necessary and give a better/pre-processed interface to such information.  Which is nice. [[Special:Contributions/178.98.253.80|178.98.253.80]] 16:27, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I do this all the time too... my wife HATES it! --[[User:Jeff|&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;Jeff&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;]] ([[User talk:Jeff|talk]]) 12:13, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I thought I was the only one. Although, I do a variation where I try to get the beginning of the selection directly over the end of the selection so that they vertically align and cause a glide reflection of sorts. [[Special:Contributions/96.254.46.231|96.254.46.231]] 14:06, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;New file name&lt;br /&gt;
The picture hilighting.png should be moved to highlighting.png. BTW: There is still a typo at the ''click...'' statement.--[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 14:56, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
: is that necessary? Imho it should follow the misspelling of the article itself [[Special:Contributions/74.125.183.194|74.125.183.194]] 16:10, 30 September 2013 (UTC)&lt;br /&gt;
::It is done by an admin here and necessary because this list [[List_of_all_comics]] did render a wrong image link. Even when the original file name is in fact still &amp;quot;hilighting.png&amp;quot;. --[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 19:52, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;Maybe he fears a trojan?&lt;br /&gt;
About Randall panicking about the clicking-a-word-triggers-a-search-script, there are certain trojan-ish programs that tamper with the user's browser and install such a script in them. In that case, various words on any webpage would become clickable links that lead to advertisement and potentially other unsavory things.&lt;br /&gt;
I had to clean a family member's computer from one such infection; I'm no expert but sleuthing a bit led me to believe he might've got it from a seemingly innocuous video-to-gif freeware. &lt;br /&gt;
If I saw that word-popping behavior on a webpage again, my immediate thought would probably be that it's from a malignant script and I'd probably drop everything like Randall and start scanning my machine. [[Special:Contributions/67.71.33.122|67.71.33.122]] 16:17, 1 October 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;Can't select the text in the image either&lt;br /&gt;
&lt;br /&gt;
Ironically, when text is displayed using an image like in the comic itself, it is also impossible to highlight text.&lt;br /&gt;
[[User:Tom0000|Tom0000]] ([[User talk:Tom0000|talk]]) 18:29, 1 October 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;Double-Clicking&lt;br /&gt;
While ''double''-clicking on a paragraph, chromium gives the patter of (5); firefox, on the other hand, selects text only, meaning no whitespaces (indent or margin) on either side of the text (not shown in comic). Running linux, I didn't try safari or i-ex. (On a last side-note, konqueror doesn't select the paragraph at all, but only the current line...) [[Special:Contributions/134.130.114.148|134.130.114.148]] 09:06, 2 October 2013 (UTC)&lt;br /&gt;
:In Firefox (in Gnome 3 on Ubuntu, in case this is desktop environment specific or operating system specific), I have to ''triple''-click to select a paragraph. Double-clicking would select a single word. --[[User:Das-g|Das-g]] ([[User talk:Das-g|talk]]) 14:09, 2 October 2013 (UTC)&lt;br /&gt;
::Also in Firefox, you can't select like Randall has selected, as it doesn't select any non-space/tab whitespace.&lt;br /&gt;
::And yes, you have to (or should have to) triple click to select a paragraph.[[User:GBGamer117|GBGamer117 &amp;amp;#62; /dev/null]] ([[User talk:GBGamer117|talk]]) 06:12, 5 October 2013 (UTC)GBGamer117&lt;/div&gt;</summary>
		<author><name>GBGamer117</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1270:_Functional&amp;diff=49888</id>
		<title>Talk:1270: Functional</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1270:_Functional&amp;diff=49888"/>
				<updated>2013-10-02T05:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;GBGamer117: Signed myself as the previous commenter after creating an account&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Am i the only one considering this can be presented also in opposition to Object Oriented Programming, where tail recursion is very difficult to achieve at execution time, and impossible to achieve at compilation time, due to the possibility of method overloading?[[Special:Contributions/193.190.231.132|193.190.231.132]] 15:17, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I'm getting the adblock message at the top.. on mobile. On an unrelated note, I laughed and I don't even get it. Edit: I'm also seeing an ad while seeing the message.[[Special:Contributions/50.159.5.112|50.159.5.112]] 06:03, 27 September 2013 (UTC)&lt;br /&gt;
:This shouldn't be in comic discussion. I have written an updated version of our ad plugin that should only display a message to people using adblock, but we're using a sitenotice for now to test the waters. We'll take it down in about a day, promise!&lt;br /&gt;
:Also, would you be complicit if I were to move this to the relevant forum? '''[[User:Davidy22|&amp;lt;u&amp;gt;{{Color|#707|David}}&amp;lt;font color=#070 size=3&amp;gt;y&amp;lt;/font&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;font color=#508 size=4&amp;gt;²²&amp;lt;/font&amp;gt;]]'''[[User talk:Davidy22|&amp;lt;tt&amp;gt;[talk]&amp;lt;/tt&amp;gt;]] 06:13, 27 September 2013 (UTC)&lt;br /&gt;
I removed that misguided explanation about lists that was not tail recursive. I'm also wondering if we should also mention that tail call optimization is also applicable to mutually recursive functions. In fact proper functional languages will always apply it whether the functions are recursive or not. Maybe emphasize the fact that &amp;quot;The efficiency and elegance are the literal rewards of tail recursion.&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
I feel like the examples should be in Haskall[sic], because that is the major functional language... [[Special:Contributions/67.160.98.42|67.160.98.42]] 09:48, 27 September 2013 (UTC) GBGamer117&lt;br /&gt;
:I think Hask'''e'''ll is more common, but I agree. And to emphasize the clarity, usually if/else blocks are avoided using pattern matching. I.e. tail-recursive factorial can be written as follows:&lt;br /&gt;
  fac2::Integer-&amp;gt;Integer-&amp;gt; Integer  -- optional function header&lt;br /&gt;
  fac2 acc 0 = acc&lt;br /&gt;
  fac2 acc n = fac2 (acc*n) (n-1)&lt;br /&gt;
  &lt;br /&gt;
  fac::Integer-&amp;gt; Integer&lt;br /&gt;
  fac = fac2 1&lt;br /&gt;
:--[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 10:34, 27 September 2013 (UTC)&lt;br /&gt;
::Addendum: I did not dare to edit that yet, as I am unsure if this actually helps anyone not familiar with functional programming (and I don't think this page should include a Haskell crash course just to explain this comic). --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 10:43, 27 September 2013 (UTC)&lt;br /&gt;
:::I think the pseudo-code examples currently in the explanation are easy enough to understand regardless of which programming languages one works in, but the [I'm assuming] Haskell example here in the comments makes no sense to me. &amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;Saibot84&amp;lt;/span&amp;gt; 12:51, 27 September 2013 (UTC)&lt;br /&gt;
::::Even though they are as clear and intuitive as abstract mathematics ... We could write it in a pseudo-functional language like this:&lt;br /&gt;
  fac2(acc,0):=acc;&lt;br /&gt;
  fac2(acc,n):=fac2(acc*n,n-1)&lt;br /&gt;
  fac(n):= fac2(1,n)&lt;br /&gt;
::::The main point of the functional programming paradigm is not that all functions return values (as currently stated in the explanation) but that functions don't have side-effects and don't have an internal state (i.e. they can have parameters, but they don't have variables). This makes recursion the only way to implement things which are usually implemented using loops in procedural languages. Tail-recursion has the benefit that it can be optimized very easily. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 21:18, 28 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I thought about the text a little and don't the the interpretation &amp;quot;tail recursion is an end unto itself&amp;quot; is correct.  I think what's going on is a pun of the word &amp;quot;reward&amp;quot;.  &amp;quot;Tail recursion is it's own reword&amp;quot; makes more sense since you are calling the same function but are &amp;quot;rewording&amp;quot; the arguements.  To reword means to re-express something with different words.  --[[Special:Contributions/24.187.72.209|24.187.72.209]] 11:31, 27 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Why would you start a wall of text with TL;DR? Doesn't that belong at the end, followed by a very short synopsis? [[User:Smperron|Smperron]] ([[User talk:Smperron|talk]]) 13:17, 27 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Oy, this explanation doesn't actually explain anything. To start with, it needs a definition of &amp;quot;functional programming&amp;quot;. Also, a single example of recursion should be plenty: this isn't a programmer's textbook. I really, really don't understand the reward/reword &amp;quot;pun&amp;quot; (if it is such a thing); is the &amp;quot;reword&amp;quot; version really in current use in functional programming circles? If it is, you need to highlight the o vs. a difference (bold and underline) to make it pop out - it took me four readings to notice it. Unfortunately, I don't understand these topics enough to even begin to edit the explanation. (Smperron is right: TL;DR belongs at the end, not the beginning, and it really can't be followed by a wall of text like this.) [[Special:Contributions/108.36.128.166|108.36.128.166]] 14:52, 27 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;tail recursion is its own reword&amp;quot; - The only instance of this on Google is this page. Searching for tail recursion reword on Google also yields no results on the first page that agree with the proposed usage in functional programming circles. I think the pun explanation should be taken out, as it's clearly wrong. -- [[Special:Contributions/67.170.217.103|67.170.217.103]] 15:55, 27 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I wasn't happy with the pun line this morning, and worked out what was niggling me earlier this evening, so I changed it to point out that the 'tail call' of a 'tail recursive' function is the end for *all* the invocations. That seems punnier to me. [[User:SleekWeasel|SleekWeasel]] ([[User talk:SleekWeasel|talk]]) 22:17, 27 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
So.... can someone explain why the recursion code examples are written in Python? [[User:Schiffy|&amp;lt;font color=&amp;quot;000999&amp;quot;&amp;gt;Schiffy&amp;lt;/font&amp;gt;]] ([[User_talk:Schiffy|&amp;lt;font color=&amp;quot;FF6600&amp;quot;&amp;gt;Speak to me&amp;lt;/font&amp;gt;]]|[[Special:Contributions/Schiffy|&amp;lt;font color=&amp;quot;FF0000&amp;quot;&amp;gt;What I've done&amp;lt;/font&amp;gt;]]) 13:30, 28 September 2013 (UTC)&lt;br /&gt;
:Why not? While python [http://neopythonic.blogspot.ch/2009/04/tail-recursion-elimination.html doesn't eliminate tail recursions] (i.e., it lacks the optimization mentioned in the explanation) it is well suited to illustrate the idiom/pattern. Even though there's little reason to use the pattern in python, one can show how it'd look like.&lt;br /&gt;
:In my experience, simple python code can easily be read (often correctly!) by programmers not knowing that language, which cannot be said about many functional languages. Therefore I tend to say that &amp;quot;python is executable pseudo-code&amp;quot;, which makes it perfect for explanatory examples. (Unlike actual pseudo-code, it has well-defined semantics, but like pseudo-code, it's mostly readable for programmers not knowing its exact syntax.) --[[User:Das-g|Das-g]] ([[User talk:Das-g|talk]]) 15:01, 28 September 2013 (UTC)&lt;br /&gt;
::I changed the functional examples to functional pseudo code. In imperative programming languages it rarely makes sense to write tail recursive functions using recursion instead of a loop. (Sure, there are cases, but factorial is not one of them) --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 23:42, 28 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;Title text&lt;br /&gt;
&lt;br /&gt;
The title-text explanation is not quite right in my opinion. The joke is that abstract mathematics is not intuitive or clear to *anyone*, including mathematicians. Functional programming borrows many concepts from higher-level mathematics, so understanding the concepts behind functional programming often requires an abstract mathematical mind.&lt;br /&gt;
&lt;br /&gt;
In other words, the title-text explanation is wrong because it claims that a contrast is being drawn between mathematicians and non-mathematicians. This is not the case (at least by my interpretation).&lt;br /&gt;
&lt;br /&gt;
[[Special:Contributions/27.32.32.199|27.32.32.199]] 12:01, 29 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Being a mathematician, I can't agree. Even though I would consider myself more an applied mathematician, I find the basic concepts of abstract mathematics quite clear and intuitive (at least to a level which is required to understand functional programming). I do agree that there are many areas of abstract mathematics neither intuitive nor clear ''to me'', but I am quite sure for people working in these areas this is not the case. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 21:06, 29 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;sinus(X)?&lt;br /&gt;
&lt;br /&gt;
In English math, it's sin(x) as an abbreviation for sine of x -- is sinus something specific to programming, or is it just a typo? {{unsigned ip|50.23.115.122}}&lt;br /&gt;
:I'm not native English, but sine or just sin in programming is correct. Thanks for your help.--[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 17:56, 29 September 2013 (UTC)&lt;br /&gt;
: I'm not sure if sine(x) is any good example at all. It is a function, but as I tried to explain below, that does not make it relate to functional programming. And I would say that sine(pi/2)=1 and sine(90) is approximately 0.894. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 20:23, 29 September 2013 (UTC)&lt;br /&gt;
::A standard calculator works in degrees and so sine(90°) is exactly 1, while when using {{w|Radian|radians}} sine(pi/2)=1 is correct. But this doesn't matter, it always describes how to invoke a function and get the result.--[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 10:38, 30 September 2013 (UTC)&lt;br /&gt;
:::However, I don't know any programming languages that use degree instead of radians by default. But that was indeed not my point: The point is that sine is an example of a ''function'' (independent of the programming paradigm used) and not a good example of '''{{w|functional programming}}'''. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 11:14, 30 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
;There is a difference between functional programming and using functions in imperative programming&lt;br /&gt;
&lt;br /&gt;
@Dgbrt: I'm not reverting your last rewriting, since I'm fearing it will lead to an edit war. I don't doubt that you are a real programmer, but I somehow doubt that you have experience with functional programming (like e.g. Haskell, Lisp, ...).&lt;br /&gt;
As I tried to explain, functions in functional programming don't have a state and therefore they don't have statements (especially no return statement). They simply describe functions in a mathematical sense, i.e. they have input parameters and result in a value. (They don't ''return'' that value, they just have that value).&lt;br /&gt;
The if-else construct I was using was supposed to describe a case distinction, similar as a mathematician would describe the abs function: &amp;lt;math&amp;gt; |x| = \begin{cases} x &amp;amp; x&amp;gt;0 \\ -x &amp;amp; \text{else}\end{cases}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Actually, a functional programmer would avoid such if-else constructs and write (for the non-tail-recursive variant)&lt;br /&gt;
  factorial 0 = 1&lt;br /&gt;
  factorial n = n * factorial (n-1)&lt;br /&gt;
And the interpreter/compiler will automatically find the most specialized case of the definition which can be matched to the input arguments: [http://ideone.com/1ZWZ9T]&lt;br /&gt;
&lt;br /&gt;
Here is a demonstration how a valid Haskell program with tail-recursion and the if-else construct would look like: [http://ideone.com/VvqYSI] and this is how it (usually) would be written with pattern matching: [http://ideone.com/hj4VfO]&lt;br /&gt;
--[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 20:15, 29 September 2013 (UTC)&lt;br /&gt;
:You're right, I am a real programmer. And so I try to explain the &amp;quot;recursive&amp;quot; issue to NON specialists. We should EXPLAIN but not ENHANCE the comic. My two cents...--[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 20:34, 29 September 2013 (UTC)&lt;br /&gt;
::Ok, then the question remains if it is not more important to explain functional programming first? Currently, the second paragraph explains the difference between a function and a procedure in imperative programming and then mostly explains recursion for imperative programming (which I doubt will help understanding the comic -- how is it relevant if and where memory is allocated?). In the next paragraph I originally tried to describe how functional programming is different from imperative programming (after some editing there is not much left of it at the moment, it currently again describes more what imperative programming is). I assume there are more people who know recursion but have no idea of functional programming than the other way around. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 20:58, 29 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
I'm not sure &amp;quot;which should not work because the return statement is missing&amp;quot; is relevent.  In a given language, functions may only return values when a &amp;quot;return&amp;quot; is given (and ''immediately'' that one is given, ending all processing), otherwise giving &amp;quot;undefined&amp;quot;, or &amp;quot;void&amp;quot; or the equivalent default state for an explicitly stated return-type.  But in others they (in the absence of anything else, like an explicitly terminating &amp;quot;return&amp;quot; well within its own code) will use the bare evaluation of the very last statement within it as the return-value of that function/sub/procedure, if in tested at all by the calling-block (although it's prefereble to &amp;quot;return variable&amp;quot; at the end rather than just put &amp;quot;variable&amp;quot; as the last statement, for readability purposes, especially when it isn't &amp;quot;variable&amp;quot; but something that looks like (or is!) an evaulation/function call in its own right).  The above being pseudocode (or &amp;quot;composite relatively common dialect code&amp;quot; not far off various common languages), surely the ''readability'' is the big concern, not the fact that (in certain languages, but not others) should not work.  (Basically, have I just spent a paragaph saying &amp;quot;don't add that above statement, just put a 'return' into the pseudocode and everyone should be happy&amp;quot;?  Yes.  Yes, I believe I might have.  Still.) [[Special:Contributions/178.98.253.80|178.98.253.80]] 15:35, 30 September 2013 (UTC)&lt;br /&gt;
:This [http://ideone.com/VvqYSI] is a valid functional definition of the factorial function. There are no ''statements'' in pure functional programming, especially no return statements. (There are ways to simulate them, but that's beyond this conversation). If everyone thinks that we shall just explain recursion and tail-recursion and avoid talking about functional programming, go ahead and revert it back to before my first attempt to describe functional programming. I agree that functional programming can be hard to get at first, especially to programmers used to imperative programming, but I do think it is worth to know about it. If it is just the brace-less syntax that is confusing, we can use this [http://ideone.com/NYKQeb] alternative (very uncommon in Haskell, but I agree that it's more important to make the code easy to understand). --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 15:52, 30 September 2013 (UTC)&lt;br /&gt;
::Lest I have made myself unclear (and you're replying to me), I'm happy with the code as is.  The 'statement' I mentioned, above, was regarding the added explanatory text (not yours) not any code-statement.  The other pseudocodes had &amp;quot;return&amp;quot;s in them, however, so for an argument of readability it might be useful to make that &amp;quot;prod&amp;quot; &amp;quot;return prod&amp;quot;, although I (especially as a bit of a Perl fanatic) don't mind either way.  I can deal with braces substituted by idents, in pseudocode, much as I can read either XML or YAML encoded data, fairly easily. ;) However, we've got quite a technical discussion going which (unlike code, even deliberately obfuscated Perl!) is not so easily untangled into who is replying to which bit and what they are trying to say (and why). Maybe we should switch to Lojban! [[Special:Contributions/178.98.253.80|178.98.253.80]] 20:48, 30 September 2013 (UTC)&lt;br /&gt;
:::There is no agreement yet, if and when we should introduce/''explain'' the concept of functional programming. At the moment the transition is very abrupt, partly because someone changed my first functional example to imperative code. The tail recursive example is at this very moment exactly the same as [http://ideone.com/OrCUMp this valid functional code (written in Haskell)]. --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 21:07, 30 September 2013 (UTC)&lt;br /&gt;
::::I agree, this is still chaos! Please explain &amp;quot;An imperative, recursive (but not tail-recursive) implementation can look like this:&amp;quot;, I disagree and there is still no prove helping me or other people to understand. And beside: My first recursive program was to solve a one player game, written in {{w|Turbo Pascal}} in the middle of the eighties of the last century. And it was ''fast'' even at that time. --[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 21:47, 30 September 2013 (UTC)&lt;br /&gt;
:::::I guess you mostly disagree on the non tail-recursiveness? Basically, this can be seen as the recursion can't be replaced by a simple replacement of the return statement with another function call, because after the call another operation (the multiplication by n) needs to be performed before the value can be returned. My original attempt on this article was to switch to functional programming at this point, since it does not make much sense to implement such a simple function recursively in an imperative language (admittedly, the transition to functional programming was way to abrupt). When implementing a function which searches inside a tree it often/usually makes sense to implement it recursively even in imperative languages and with some tricks you can also make this comparatively fast (I assume that was the point of your last two sentences?). To come back to 178.98... My intention was to structure the explanation approximately as follows:&lt;br /&gt;
:::::1) Describe the difference between functional and imperative programming (assuming that most readers know what imperative programming is -- if we can't assume that, where shall we start?)&lt;br /&gt;
:::::2) Give an example of a simple imperative function (e.g. the factorial function) written with typical imperative constructs (loops, assignments)&lt;br /&gt;
:::::3) As this is not possible in functional programming introduce the concept of recursion and define the function recursively (this step was clearly to fast)&lt;br /&gt;
:::::4) Explain the benefit of tail-recursion and give an tail-recursive example of factorial (also in functional programming) &lt;br /&gt;
:::::5) '''Explain the actual joke!'''&lt;br /&gt;
:::::6) Explain remaining parts (title text, ...) --[[User:Chtz|Chtz]] ([[User talk:Chtz|talk]]) 22:41, 30 September 2013 (UTC)&lt;br /&gt;
::::::On your fourth point, the functional programming example is confusing, and strange. Why are you defining two seperate functions, when a single function would do? For example, an easy way to show this is:&lt;br /&gt;
  factorial[0] = 1&lt;br /&gt;
  factorial[n] = n * factorial(n - 1)&lt;br /&gt;
::::::which, though not valid computer code, is valid mathematical syntax, and shows perfectly what a factorial function, in functional programming, does. The explanation would then be:&lt;br /&gt;
  factorial[6] = 6 * factorial[6-1] = 6 * 120 = 720&lt;br /&gt;
    factorial[5] = 5 * factorial[5-1] = 5 * 24 = 120&lt;br /&gt;
      factorial[4] = 4 * factorial[4-1] = 4 * 6 = 24&lt;br /&gt;
        factorial[3] = 3 * factorial[3-1] = 3 * 2 = 6&lt;br /&gt;
          factorial[2] = 2 * factorial[2-1] = 2 * 1 = 2&lt;br /&gt;
            factorial[1] = 1 * factorial[1-1] = 1 * 1 = 1&lt;br /&gt;
              factorial[0] = 1&lt;br /&gt;
::::::or something similar to that. [[User:GBGamer117|GBGamer117]] ([[User talk:GBGamer117|talk]]) 05:07, 2 October 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>GBGamer117</name></author>	</entry>

	</feed>