<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Enrque\m/Talavera</title>
    <description>The latest articles on DEV Community by Enrque\m/Talavera (@kiquetal).</description>
    <link>https://dev.to/kiquetal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F232703%2F60222010-0dc5-4505-a75d-61d594ac90b6.jpeg</url>
      <title>DEV Community: Enrque\m/Talavera</title>
      <link>https://dev.to/kiquetal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiquetal"/>
    <language>en</language>
    <item>
      <title>thinking about creating a tutorial with aws cdk ts and lambda with golang</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Mon, 17 Mar 2025 03:27:18 +0000</pubDate>
      <link>https://dev.to/kiquetal/thinking-about-creating-a-tutorial-with-aws-cdk-ts-and-lambda-with-golang-2bhh</link>
      <guid>https://dev.to/kiquetal/thinking-about-creating-a-tutorial-with-aws-cdk-ts-and-lambda-with-golang-2bhh</guid>
      <description></description>
      <category>aws</category>
      <category>lambda</category>
      <category>typescript</category>
      <category>go</category>
    </item>
    <item>
      <title>Chapter26</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Sun, 12 Jul 2020 04:23:51 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter26-1j6j</link>
      <guid>https://dev.to/kiquetal/chapter26-1j6j</guid>
      <description>&lt;p&gt;Suposse you have the following function&lt;/p&gt;

&lt;p&gt;ifBothTrue(age &amp;gt;18)(numAccidentes==0){&lt;br&gt;
 println("Discount!");&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Attempt no1:&lt;/p&gt;

&lt;p&gt;def ifBothTtrue(c:=&amp;gt;Boolean)(n:=&amp;gt;Boolean)(codeBlock:=&amp;gt;Unit):Unit{&lt;br&gt;
 if (c &amp;amp;&amp;amp; n) {&lt;br&gt;
        codeBlock&lt;br&gt;
   } &lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;You're using by-name, because we need to evaluate that expressión, always (think the case for a loop iteration)&lt;/p&gt;

&lt;p&gt;Implicit paremeters: it takes the current val defined in the context with the word 'implicit'.&lt;br&gt;
Some rules are:&lt;br&gt;
-You can only use implicit per function&lt;br&gt;
-If you use implicit, is has to be the last parameter.&lt;/p&gt;

&lt;p&gt;You need to supply empy parentheses when you want to use the default values&lt;/p&gt;

&lt;p&gt;def fn(a:Int =1)(b:Int =2) = {a+b}&lt;br&gt;
you need to call fn()()&lt;/p&gt;

&lt;p&gt;It also valid to use:&lt;br&gt;
def fn(a:Int =1)(b:Int=a) = {a=b}&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Chapter 25</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Sat, 11 Jul 2020 05:25:16 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter-25-406i</link>
      <guid>https://dev.to/kiquetal/chapter-25-406i</guid>
      <description>&lt;p&gt;-A by-value parameter is like receiving a val field, its body is evaluated once, when the parameter is bound to the function.&lt;br&gt;
-A by-name parameter is like receiving a def method;its body is evaluated whenever it is used inside the functions.&lt;/p&gt;

&lt;p&gt;This (by-name) indicates that the arguments is not evaluated at the point of function application, but instead are evaluated at each use within the function.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/a/35625483"&gt;https://stackoverflow.com/a/35625483&lt;/a&gt;&lt;/p&gt;

</description>
      <category>functional</category>
    </item>
    <item>
      <title>chapter 21,chapter22</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Mon, 06 Jul 2020 04:39:24 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter-21-chapter22-402g</link>
      <guid>https://dev.to/kiquetal/chapter-21-chapter22-402g</guid>
      <description>&lt;p&gt;Functions literals can be assigned to val fields to create function variables.&lt;br&gt;
To be consistent with algebra and other FP resources, I refer to these fields are variables rather than values.&lt;br&gt;
Examples of the val function syntax.&lt;br&gt;
A function is an instance of a FunctionN trait, such as Function1, or Function2.&lt;br&gt;
What various function type signatures look like in the REPL.&lt;br&gt;
How to treat a function as a variable by putting it in a Map.&lt;br&gt;
That, in general you can use a function variable just like any other variable.&lt;/p&gt;

&lt;p&gt;A def mehtod is not a val (Part I)&lt;br&gt;
A def mehtod is not a variable(Part II)&lt;br&gt;
val =&amp;gt;creates an instance of the Function1 trait&lt;br&gt;
def =&amp;gt; create method &lt;/p&gt;

&lt;p&gt;Convert def method to function.&lt;br&gt;
def double(i:Int) = i*2&lt;/p&gt;

&lt;p&gt;val doubleF = double _&lt;/p&gt;

</description>
      <category>functional</category>
      <category>programming</category>
    </item>
    <item>
      <title>Chapter19</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Wed, 01 Jul 2020 04:55:59 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter19-lae</link>
      <guid>https://dev.to/kiquetal/chapter19-lae</guid>
      <description>&lt;p&gt;"Statements do not return results and are executed solely for their side effects, while expressions always return a result and often do not have side effects at all" Wikipedia on Expression-Oriented Programming.&lt;/p&gt;

&lt;p&gt;Statements and expressions.&lt;/p&gt;

&lt;p&gt;When ervey line of code has a return value, it's said that you are wriing expressions, and using an EOP style. In constrast statements are lines of code that do not have return values, and are executed for their side effects. When you see statements in code you should think, "This is imperative code,not FP code"&lt;/p&gt;

</description>
      <category>functional</category>
      <category>learning</category>
    </item>
    <item>
      <title>Chapter 15 and Chapter 16 and chapter 17</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Mon, 29 Jun 2020 04:23:32 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter-15-and-chapter-16-and-chapter-17-18o5</link>
      <guid>https://dev.to/kiquetal/chapter-15-and-chapter-16-and-chapter-17-18o5</guid>
      <description>&lt;p&gt;Pure functions are memoizable&lt;/p&gt;

&lt;p&gt;Memoization is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.&lt;/p&gt;

&lt;p&gt;Benefits of pure functions:&lt;br&gt;
-They're easier to reason about&lt;br&gt;
-They're easier to combine&lt;br&gt;
-They're easier to test&lt;br&gt;
-They're easier to debug.&lt;br&gt;
-They're easier to parallelize&lt;/p&gt;

&lt;p&gt;Other benefits:&lt;br&gt;
-They're idempotent&lt;br&gt;
-They offer referential transparency&lt;br&gt;
-They are memoizable&lt;br&gt;
-They can be lazy.&lt;/p&gt;

&lt;p&gt;"The IO monad does not make a function pure. It just makes it obvious that it's impure".&lt;/p&gt;

&lt;p&gt;Pure function signatures tell all.&lt;br&gt;
When a function is pure its signature lets you make very strong guresses at what it does -even when you can't see the function name.&lt;/p&gt;

</description>
      <category>functional</category>
      <category>programming</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Matemático desde la cárcel</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Wed, 17 Jun 2020 13:48:11 +0000</pubDate>
      <link>https://dev.to/kiquetal/matematico-desde-la-carcel-157h</link>
      <guid>https://dev.to/kiquetal/matematico-desde-la-carcel-157h</guid>
      <description>&lt;p&gt;&lt;a href="https://elpais.com/politica/2020/06/15/sepa_usted/1592236810_602206.html"&gt;https://elpais.com/politica/2020/06/15/sepa_usted/1592236810_602206.html&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Chapter13</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Wed, 17 Jun 2020 03:03:08 +0000</pubDate>
      <link>https://dev.to/kiquetal/chapter13-2hdn</link>
      <guid>https://dev.to/kiquetal/chapter13-2hdn</guid>
      <description>&lt;p&gt;The "Great FP Terminology Barrier"&lt;/p&gt;

&lt;p&gt;"Things that can be mapped over shall be called...Functor"&lt;/p&gt;

&lt;p&gt;Combinator: "A style of organizing libraries centered around the idea of combininig things".Like Unix command pipeline ps aux | grep root | wc -l&lt;/p&gt;

&lt;p&gt;High-Order-Function: A function that takes other functions as parameters or whose result is a function.&lt;/p&gt;

&lt;p&gt;lambda: Annonymous function.&lt;/p&gt;

&lt;p&gt;from &amp;gt;&amp;gt;'Functional Programming simplified'.&lt;/p&gt;

</description>
      <category>functional</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>El post de post.</title>
      <dc:creator>Enrque\m/Talavera</dc:creator>
      <pubDate>Wed, 10 Jun 2020 15:46:30 +0000</pubDate>
      <link>https://dev.to/kiquetal/el-post-de-post-3bfp</link>
      <guid>https://dev.to/kiquetal/el-post-de-post-3bfp</guid>
      <description>&lt;p&gt;What can I say?&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
