<?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: NodeServerless</title>
    <description>The latest articles on DEV Community by NodeServerless (@nserverless).</description>
    <link>https://dev.to/nserverless</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%2F135687%2Fb4be3282-32e8-4b68-974d-3adde25dfe7d.jpg</url>
      <title>DEV Community: NodeServerless</title>
      <link>https://dev.to/nserverless</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nserverless"/>
    <language>en</language>
    <item>
      <title>Did Functional Programming Get it Wrong?</title>
      <dc:creator>NodeServerless</dc:creator>
      <pubDate>Fri, 19 Apr 2019 06:32:23 +0000</pubDate>
      <link>https://dev.to/nserverless/did-functional-programming-get-it-wrong-3k80</link>
      <guid>https://dev.to/nserverless/did-functional-programming-get-it-wrong-3k80</guid>
      <description>&lt;p&gt;If FP is based on such solid math, why does it feel so strange?&lt;/p&gt;

&lt;p&gt;Isn't there a far more natural way to do this... that we already know?&lt;/p&gt;

&lt;p&gt;Time to revisit category theory for some unexpected answers&lt;/p&gt;

&lt;p&gt;More info here:&lt;br&gt;
&lt;a href="https://medium.com/@reinman/monoids-to-groupoids-492c35105113"&gt;https://medium.com/@reinman/monoids-to-groupoids-492c35105113&lt;/a&gt;&lt;/p&gt;

</description>
      <category>monads</category>
      <category>categorytheory</category>
      <category>functional</category>
    </item>
    <item>
      <title>Did Functional Programming Get "Monads" Wrong?</title>
      <dc:creator>NodeServerless</dc:creator>
      <pubDate>Tue, 09 Apr 2019 07:33:50 +0000</pubDate>
      <link>https://dev.to/nserverless/did-functional-programming-get-it-wrong-3gn6</link>
      <guid>https://dev.to/nserverless/did-functional-programming-get-it-wrong-3gn6</guid>
      <description>&lt;p&gt;We believe the unfolding Scala mess has exposed some mathematical issues in how FP treats the concept of a "monad". We believe that operating systems historically play that orchestration and data handling role, but in a different manifold. Unfortunately O/S innovation has been dead for decades but we hope to change that.&lt;br&gt;
&lt;a href="https://medium.com/@reinman/monoids-to-groupoids-492c35105113"&gt;https://medium.com/@reinman/monoids-to-groupoids-492c35105113&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Notion.so data sharing with transclusion</title>
      <dc:creator>NodeServerless</dc:creator>
      <pubDate>Tue, 12 Mar 2019 08:03:53 +0000</pubDate>
      <link>https://dev.to/nserverless/notionso-data-sharing-with-transclusion-31mc</link>
      <guid>https://dev.to/nserverless/notionso-data-sharing-with-transclusion-31mc</guid>
      <description>&lt;p&gt;Developers without much of a background in Functional Programming or Category Theory may struggle when first confronted with the idea of a "topology" or "working surface" when doing programming.&lt;/p&gt;

&lt;p&gt;Usually that sort of creature shows up when trying to debug a program or perform introspection through code and data.&lt;/p&gt;

&lt;p&gt;The idea of treating the programming medium itself as some sort of walkable "surface" is more common in operating systems (think filesystems) or databases (think spreadsheets or graphs etc.) but this is also how web documents such as XML and HTML etc. operate.&lt;/p&gt;

&lt;p&gt;In fact, the main reason why we use interim documents like XML and HTML is exactly to allow us to move between programming and topology (actually algebraic geometry).&lt;/p&gt;

&lt;p&gt;Transclusion is the idea of having the same data show up in multiple places, most famously being Notion.so. The person behind Notion.so is Ted Nelson. It is essentially a way to perform data normalization.&lt;/p&gt;

&lt;p&gt;Below, we use the NodeServerless REPL to demonstrate some of this 'transclusion' by having the variable "here" also projected to a variable "there". We did this by using the "ln" or "link" command similar to what is found in Linux. Note that in practice, both variables would probably pull from a common location. &lt;/p&gt;

&lt;p&gt;The linking mechanics are fairly straightforward using JS proxies (as indicated with the pink arrows).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eADdFI-4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/iy5tg53qt7zf5kmwvixu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eADdFI-4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/iy5tg53qt7zf5kmwvixu.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope this helps explain such a powerful concept without getting into heavy math. Transclusion is key to how spreadsheets work and the functional dependency calculations behind them (which gets more into category theory).&lt;/p&gt;

&lt;p&gt;NodeServerless is now part of CodeCraft.AI&lt;/p&gt;

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