<?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=108.36.128.166</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=108.36.128.166"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/108.36.128.166"/>
		<updated>2026-04-16T12:58:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1270:_Functional&amp;diff=49626</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=49626"/>
				<updated>2013-09-27T14:52:55Z</updated>
		
		<summary type="html">&lt;p&gt;108.36.128.166: This explanation doesn't explain anything.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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, 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;
&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;/div&gt;</summary>
		<author><name>108.36.128.166</name></author>	</entry>

	</feed>