<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="46286" data-post-id="46286">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="georgeguimaraes" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/georgeguimaraes/120/19267_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  georgeguimaraes
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The book even link to this thread:<br>
</p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/2X/c/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40.jpg" data-download-href="https://forum.elixirforum.com/uploads/default/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40" title="Screen Shot 2017-08-16 at 15.13.18.jpg" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/2X/c/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40_2_690x400.jpg" width="690" height="400" srcset="https://forum.elixirforum.com/uploads/default/optimized/2X/c/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40_2_690x400.jpg, https://forum.elixirforum.com/uploads/default/optimized/2X/c/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40_2_1035x600.jpg 1.5x, https://forum.elixirforum.com/uploads/default/optimized/2X/c/cbc0d79ca018bc406ba4fafff9b9a76d5f1aea40_2_1380x800.jpg 2x" data-dominant-color="F8F8F9"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screen Shot 2017-08-16 at 15.13.18.jpg</span><span class="informations">1744×1012 88.2 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>Recursion! <img src="https://forum.elixirforum.com/images/emoji/apple/smile.png?v=15" title=":smile:" class="emoji" alt=":smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="46286" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-46286" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="46286"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="46291" data-post-id="46291">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AstonJ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/AstonJ/120/15_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AstonJ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Nice one <a class="mention" href="/u/georgeguimaraes" rel="nofollow">@georgeguimaraes</a> <img src="https://forum.elixirforum.com/uploads/default/original/2X/a/a1c41c89c299189a3f85edfeb4973563d8bac781.gif?v=15" title=":023:" class="emoji emoji-custom" alt=":023:" loading="lazy" width="20" height="20"></p>
<p>The URL has been updated since mind - though it will still get to this thread. The new URL is:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114
</code></pre>
<p>Though if you wanted to, you could use:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">https://forum.elixirforum.com/t/learn-functional-programming-with-elixir/5114
</code></pre>
<p><img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji only-emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="46291" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-46291" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="46291"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="47706" data-post-id="47706">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AstonJ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/AstonJ/120/15_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AstonJ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Blog post outlining the story behind this book <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://blog.plataformatec.com.br/2017/08/book-release-learn-functional-programming-with-elixir/">
  <header class="source">
      <img src="https://blog.plataformatec.com.br/wp-content/themes/ptec/assets/icons/chrome-192x.png" class="site-icon" alt="" width="192" height="192">

      <a href="https://blog.plataformatec.com.br/2017/08/book-release-learn-functional-programming-with-elixir/" target="_blank" rel="noopener nofollow" title="09:04PM - 25 August 2017">Plataformatec Blog | Plataformatec's place to talk about Ruby, Ruby on Rails,... – 25 Aug 17</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://blog.plataformatec.com.br/2017/08/book-release-learn-functional-programming-with-elixir/" target="_blank" rel="noopener nofollow">Book Release: Learn Functional Programming with Elixir « Plataformatec Blog</a></h3>

  <p>Our 6th book. On this blog post, our team member Ulisses Almeida explains what motivated him to write this book and what you can expect to learn from it.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p>I’m sure it will be great <a class="mention" href="/u/ulissesalmeida" rel="nofollow">@ulissesalmeida</a> <img src="https://forum.elixirforum.com/uploads/default/original/2X/a/a1c41c89c299189a3f85edfeb4973563d8bac781.gif?v=15" title=":023:" class="emoji emoji-custom" alt=":023:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47706" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-47706" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47706"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="47708" data-post-id="47708">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ulissesalmeida" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ulissesalmeida/120/7454_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ulissesalmeida
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Learn Functional Programming with Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/astonj" rel="nofollow">@AstonJ</a> Thanks!</p>
<p>I need to update the book with thew new URL <img src="https://forum.elixirforum.com/images/emoji/apple/laughing.png?v=15" title=":laughing:" class="emoji" alt=":laughing:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="47708" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-47708" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="47708"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="61901" data-post-id="61901">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AstonJ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/AstonJ/120/15_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AstonJ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>First chapter of this book is currently available as a free download <img src="https://forum.elixirforum.com/uploads/default/original/2X/a/a1c41c89c299189a3f85edfeb4973563d8bac781.gif?v=15" title=":023:" class="emoji emoji-custom" alt=":023:" loading="lazy" width="20" height="20"></p>
<p><a href="http://pages.plataformatec.com.br/chapter-thinking-functionally-of-learn-functional-programming-with-elixir" class="onebox" target="_blank" rel="noopener nofollow">http://pages.plataformatec.com.br/chapter-thinking-functionally-of-learn-functional-programming-with-elixir</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="61901" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-61901" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="61901"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="62451" data-post-id="62451">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="amadanes" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  amadanes
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am not sure how to post a question but I started going over the book and I like it a lot. I got stuck with the Enum.each exercise.</p>
<p>I do:   apply_tax = fn price → " Price: #{price} - tax: #{price*0.12}" and when I check it alone it works fine<br>
I then do:Enum.each([12.5, 30.99, 250.49, 18.8], apply_tax ) and it just print <img src="https://forum.elixirforum.com/images/emoji/apple/ok.png?v=15" title=":ok:" class="emoji" alt=":ok:" loading="lazy" width="20" height="20"><br>
I also tried: Enum.each([12.5, 30.99, 250.49, 18.8], fn(n) → apply_tax.(n) end ) with same results please help. Also how do I post regula questions on the forum? I could not find it like onn other forums?</p>
<p>Thank you Amos Madanes</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="62451" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-62451" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="62451"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="62453" data-post-id="62453">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<ol>
<li><code>apply_tax</code> returns a string</li>
<li>You are using <a href="https://hexdocs.pm/elixir/Enum.html#each/2" rel="noopener nofollow ugc"><code>Enum.each/2</code></a> - this suggests you are going through the list for a side effect (rather than generating a new result).</li>
</ol>
<p>You probably want to show the string on the screen in <code>iex</code> - the piece you are missing is <a href="https://hexdocs.pm/elixir/IO.html#puts/2" rel="noopener nofollow ugc"><code>IO.puts/2</code></a>:</p>
<pre data-code-wrap="iex"><code class="lang-iex">Interactive Elixir (1.5.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)&gt; apply_tax = fn price -&gt; "Price: #{price} tax: #{price * 0.12}" end
#Function&lt;6.99386804/1 in :erl_eval.expr/5&gt;
iex(2)&gt; Enum.each([12.5, 30.99, 250.49, 18.8], fn(n) -&gt; IO.puts(apply_tax.(n)) end)
Price: 12.5 tax: 1.5
Price: 30.99 tax: 3.7188
Price: 250.49 tax: 30.0588
Price: 18.8 tax: 2.256
:ok
iex(3)&gt; Enum.each([12.5, 30.99, 250.49, 18.8], fn(n) -&gt; n |&gt; apply_tax.() |&gt; IO.puts() end)
Price: 12.5 tax: 1.5
Price: 30.99 tax: 3.7188
Price: 250.49 tax: 30.0588
Price: 18.8 tax: 2.256
:ok
iex(4)&gt; 
</code></pre>
<p>FYI:<br>
The book’s forum is actually<br>
<a href="https://forums.pragprog.com/forums/440" class="inline-onebox" rel="noopener nofollow ugc">Topics tagged pragprog</a></p>
<p>Though I suspect that you’ll get a much faster response here - as long as you are OK with people answering who haven’t actually read the book.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="62453" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-62453" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="62453"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="62485" data-post-id="62485">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ulissesalmeida" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ulissesalmeida/120/7454_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ulissesalmeida
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Learn Functional Programming with Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you <a class="mention" href="/u/peerreynders" rel="nofollow">@peerreynders</a>.</p>
<p><a class="mention" href="/u/amadanes" rel="nofollow">@amadanes</a>  You can also download the source code files of the book in <a href="https://pragprog.com/titles/cdc-elixir/source_code" class="inline-onebox" rel="noopener nofollow ugc">https://pragprog.com/titles/cdc-elixir/learn-functional-programming-with-elixir/</a></p>
<p>There are several folders for each book’s topic. Some of them has <code>answers</code> folder that you can find my suggested answers for the book’s exercises.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="62485" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-62485" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="62485"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="72014" data-post-id="72014">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ulissesalmeida" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ulissesalmeida/120/7454_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ulissesalmeida
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Learn Functional Programming with Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The printed version announcement. If you already have bought e-book version, you might have received a coupon discount in your e-mail if you want to purchase the printed version.</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://media.pragprog.com/newsletters/2018-02-28.html">
  <header class="source">

      <a href="https://media.pragprog.com/newsletters/2018-02-28.html" target="_blank" rel="noopener nofollow ugc">media.pragprog.com</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://media.pragprog.com/newsletters/2018-02-28.html" target="_blank" rel="noopener nofollow ugc">Rediscovering JavaScript: Master ES6, ES7, and ES8, in beta; Learn Functional...</a></h3>



  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="72014" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-72014" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="72014"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="84615" data-post-id="84615">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="AstonJ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/AstonJ/120/15_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  AstonJ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Whoo hoo I finished it! Here’s…</p>
<h1><a name="p-84615-my-review-1" class="anchor" href="#p-84615-my-review-1" aria-label="Heading link" rel="nofollow"></a>My Review</h1>
<p>I really enjoyed this book! I think it’s going to prove incredibly useful for those of us who are coming to Elixir as our first functional programming language. But before I go into the details, I want to say that this book reminded me that you should never judge a book by its cover!!</p>
<p>Why? Well when I first heard about this book I immediately thought it was going to be Elixir’s version of the Ruby book by Chris Pine, called Learn to Program (an amazing book btw!). But it’s not - this book goes much further down the rabbit hole! In fact, I reckon it could even drop ‘learn’ from the title and simply be called Functional Programming with Elixir. Having ‘learn’ in the title makes it sound as though it’s for newcomers to programming in general - but maybe that’s just because I’m aware of the aforementioned Ruby book which also happens to be published by PragProg.</p>
<p>For the same reason, I’m also glad I read this book <em>after</em> Programming Elixir and Elixir in Action. Because the focus of those books are the fundamentals of the Elixir language and OTP, and that’s why they cover them in great detail. The focus of this book however, is functional programming …with Elixir. So the aim of this book isn’t to teach you the ins and outs of Elixir and OTP, it’s to teach you the fundamentals of functional programming - and just so happens to be using Elixir, but, while also showcasing Elixir’s advantages in the area and how it approaches and tackles common problems using functional programming.</p>
<p>So this book is for you if Elixir is your first functional programming language or maybe even if it’s not, and you want to see how Elixir is functionally minded. It will go into detail about things like recursion - (which btw, is a deeper topic than I first thought!) for instance, just like in Elixir in Action where you build a genserver and supervisor from scratch using bare processes, here you build a Map function using recursion. I LOVE it when books do this, because it helps give you a much better understanding of what is going on and helps make things ‘click’.</p>
<p>If you still don’t think you need this book - here are some questions for you: Do you know functional concepts and terms such as Divide and Conquer, Decrease and Conquer, Unbounded Recursion, Pure Functions, Impure Functions, Higher Order Functions? Do you know what Map and Reduce are really doing under the hood? Do you know when to use Comprehensions or Monads or Try and Rescue/Throw or With?  Or what about when to use Protocols or Module Behaviours? If not, this book will teach you, and much more!</p>
<p>I’m glad I read this book - and if you read it, I think you will be too!</p>
<p>Well done <a class="mention" href="/u/ulissesalmeida" rel="nofollow">@ulissesalmeida</a>, this book definitely fills a void and I think will prove very useful to a lot of people <img src="https://forum.elixirforum.com/uploads/default/original/2X/a/a1c41c89c299189a3f85edfeb4973563d8bac781.gif?v=15" title=":023:" class="emoji emoji-custom" alt=":023:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="84615" data-batch-url="/posts/batch_likers">
                        20
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/learn-functional-programming-with-elixir-pragprog/5114/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-84615" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="84615"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/5114/load_more?page=3">Load more posts (10 remaining)</a>
</div></template></turbo-stream>