functional.cafe is one of the many independent Mastodon servers you can use to participate in the fediverse.
functional.cafe is an instance for people interested in functional programming and languages.

Server stats:

217
active users

#clojurescript

1 post1 participant0 posts today
veer66<p><span class="h-card" translate="no"><a href="https://fedi.winscloud.net/@winsdominoes" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>winsdominoes</span></a></span> TypeScript is great, but <a href="https://social.vivaldi.net/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> is wonderful.</p>
Felix 🇺🇦🚴‍♂️🇨🇦🇬🇱🇩🇰🇲🇽🇵🇦 🇪🇺<p>UIx- Idiomatisch <a href="https://norden.social/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> interface to modern React.js</p><p><a href="https://github.com/pitch-io/uix" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/pitch-io/uix</span><span class="invisible"></span></a></p><p>- Syntax: Rest params in props destructuring (same as [a b &amp; xs] but for associative types e.g. {:keys [a b] :&amp; xs})</p><p>should also exist in core <a href="https://norden.social/tags/Clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clojure</span></a> fpr associative types too 😍</p><p><a href="https://norden.social/tags/reactjs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reactjs</span></a></p>
gosha 🏴‍☠️<p>Today I was going to implement background queuing/batching of updates, but was too tired, so instead I polished the UI a bit.<br>✅ Minimap in the sidebar<br>✅ Interactive minimap<br>✅ Improved the "add a Part" toolbar, though it still needs more love.<br><a href="https://merveilles.town/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> <a href="https://merveilles.town/tags/UIx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UIx</span></a></p>
gosha 🏴‍☠️<p>More progress on Parts! Got a first version of the relationships between different parts working, plus improved the editing experience. <a href="https://merveilles.town/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> <a href="https://merveilles.town/tags/UIx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UIx</span></a> <a href="https://merveilles.town/tags/InternalFamilySystems" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InternalFamilySystems</span></a></p>
gosha 🏴‍☠️<p><a href="https://merveilles.town/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> fam, which of these is more idiomatic for drilling down into DOM events?<br>Thread-first seems to be more Clojure-y, and aesthetically I like it more, but dotdot seems like it's designed specifically for this particular purpose.<br>What do you think?</p>
Vincent Cantin<p>&quot;WebComponents will outlive your javascript framework&quot;</p><p>He is right, and since <a href="https://functional.cafe/tags/WebComponents" class="mention hashtag" rel="tag">#<span>WebComponents</span></a> are not what you want, don&#39;t depend on a Javascript framework.</p><p>Depend on a <a href="https://functional.cafe/tags/Clojurescript" class="mention hashtag" rel="tag">#<span>Clojurescript</span></a> one instead.</p>
gosha 🏴‍☠️<p>holy crap, `core.async`! just built something like redux-saga (but that I actually understand) in <a href="https://merveilles.town/tags/clojurescript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojurescript</span></a> in one morning. mood:</p>
Kyle Ackerman<p>Trying to figure out what to use in my next personal project. Trying to stay away from touching JS. I have been considering <a href="https://mastodon.social/tags/Elm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Elm</span></a> becuase I like <a href="https://mastodon.social/tags/haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>haskell</span></a>. I also have been considering <a href="https://mastodon.social/tags/clojurescript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojurescript</span></a> and <a href="https://mastodon.social/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a> becuase I love <a href="https://mastodon.social/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a>. I guess I could choose any backend but I am really looking for a frontend replacement to make a QOL improvement</p>
Vincent Cantin<p>Hello fellow clojurists.</p><p>Today I released 2 open source Clojurescript libraries:<br />- Siagent, a subset of Reagent using Signaali, and<br />- Si-frame, a fork of Re-frame which is based on Siagent &amp; Signaali.</p><p>I am looking for testers willing to provide feedback.</p><p>Thank you</p><p><a href="https://github.com/metosin/signaali" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/metosin/signaali</span><span class="invisible"></span></a><br /><a href="https://github.com/metosin/siagent" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/metosin/siagent</span><span class="invisible"></span></a><br /><a href="https://github.com/metosin/si-frame" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/metosin/si-frame</span><span class="invisible"></span></a></p><p><a href="https://functional.cafe/tags/clojure" class="mention hashtag" rel="tag">#<span>clojure</span></a> <a href="https://functional.cafe/tags/clojurescript" class="mention hashtag" rel="tag">#<span>clojurescript</span></a> <a href="https://functional.cafe/tags/frontend" class="mention hashtag" rel="tag">#<span>frontend</span></a></p>
gosha 🏴‍☠️<p>It's crazy that the optimised production build of a simple "hello world" in <a href="https://merveilles.town/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a> is a whopping 97kb. I'm guessing this is the ClojureScript runtime, the Google Closure lib, and shadow-cljs related stuff.<br>I like writing Clojure on the frontend, but maybe it's time to reconsider plain JS? Or am I overreacting? <a href="https://merveilles.town/tags/theWorkshop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>theWorkshop</span></a></p>
Vincent Cantin<p>I am starting a live Clojure coding session on Twitch. <a href="https://www.twitch.tv/greencoder" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="">twitch.tv/greencoder</span><span class="invisible"></span></a></p><p>Topic of the day: Implementing a mini version of Reagent using Signaali.</p><p><a href="https://functional.cafe/tags/Clojurescript" class="mention hashtag" rel="tag">#<span>Clojurescript</span></a> <a href="https://functional.cafe/tags/Reagent" class="mention hashtag" rel="tag">#<span>Reagent</span></a> <a href="https://functional.cafe/tags/Signaali" class="mention hashtag" rel="tag">#<span>Signaali</span></a></p>
Heart of Clojure<p><span class="h-card" translate="no"><a href="https://functional.cafe/@pawel" class="u-url mention">@<span>pawel</span></a></span> talks about inheriting a bespoke text editor in <a href="https://functional.cafe/tags/ClojureScript" class="mention hashtag" rel="tag">#<span>ClojureScript</span></a> with annotation features for text and entire audio conversations in order to train a machine learning model to give feedback to foreign language learners: <a href="https://youtu.be/VcBPp8_U5Ck" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">youtu.be/VcBPp8_U5Ck</span><span class="invisible"></span></a> <a href="https://functional.cafe/tags/MachineLearning" class="mention hashtag" rel="tag">#<span>MachineLearning</span></a></p>
Arjen :emacs: :linux: :nixos:<p>Hey <a href="https://fosstodon.org/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a> / <a href="https://fosstodon.org/tags/clojurescript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojurescript</span></a> community, does anyone have a config for clj-kondo to support the re-frame macros? <a href="https://fosstodon.org/tags/cljKondo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cljKondo</span></a></p>
Felix 🇺🇦🚴‍♂️🇨🇦🇬🇱🇩🇰🇲🇽🇵🇦 🇪🇺<p>Minimal presentation slides for <a href="https://norden.social/tags/clojurescript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojurescript</span></a> Made with <a href="https://norden.social/tags/Scittle" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Scittle</span></a> </p><p><a href="https://github.com/chr15m/clojurescript-tiny-slides" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/chr15m/clojurescrip</span><span class="invisible">t-tiny-slides</span></a></p><p><a href="https://norden.social/tags/sci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>sci</span></a> <a href="https://norden.social/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a></p>
Vincent Cantin<p>&gt; What’s in a component? That which implemented in any other way would fell as reusable 🌹 </p><p>In this article, I show how to start a web framework based on the reactivity provided by Signaali.</p><p>More specifically, I am describing how its components were formed and how the conversion from an HTML representation to reactive DOM elements works at a basic level.</p><p><a href="https://blog.404.taipei/whats-in-a-component" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">blog.404.taipei/whats-in-a-com</span><span class="invisible">ponent</span></a></p><p><a href="https://functional.cafe/tags/Clojure" class="mention hashtag" rel="tag">#<span>Clojure</span></a> <a href="https://functional.cafe/tags/Clojurescript" class="mention hashtag" rel="tag">#<span>Clojurescript</span></a> <a href="https://functional.cafe/tags/Signaali" class="mention hashtag" rel="tag">#<span>Signaali</span></a> <a href="https://functional.cafe/tags/Vrac" class="mention hashtag" rel="tag">#<span>Vrac</span></a></p>
Vincent Cantin<p>&quot;Making HTML reactive using Signaali&quot; - my first blog post of the year.</p><p><a href="https://blog.404.taipei/making-html-reactive-using-signaali" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">blog.404.taipei/making-html-re</span><span class="invisible">active-using-signaali</span></a></p><p>This article is the first of a serie about <a href="https://functional.cafe/tags/Vrac" class="mention hashtag" rel="tag">#<span>Vrac</span></a>&#39;s development.</p><p><a href="https://functional.cafe/tags/clojure" class="mention hashtag" rel="tag">#<span>clojure</span></a> <a href="https://functional.cafe/tags/clojurescript" class="mention hashtag" rel="tag">#<span>clojurescript</span></a> <a href="https://functional.cafe/tags/Signaali" class="mention hashtag" rel="tag">#<span>Signaali</span></a></p>
Vincent Cantin<p>I will be on twitch in a couple of minutes, starting the rewrite from scratch of <a href="https://functional.cafe/tags/Vrac" class="mention hashtag" rel="tag">#<span>Vrac</span></a> using the library <a href="https://functional.cafe/tags/Signaali" class="mention hashtag" rel="tag">#<span>Signaali</span></a> which I published recently.</p><p>It&#39;s usually a slow stream, but you can join and ask question at any time.</p><p><a href="https://www.twitch.tv/greencoder" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="">twitch.tv/greencoder</span><span class="invisible"></span></a></p><p><a href="https://functional.cafe/tags/clojure" class="mention hashtag" rel="tag">#<span>clojure</span></a> <a href="https://functional.cafe/tags/clojurescript" class="mention hashtag" rel="tag">#<span>clojurescript</span></a></p>
Vincent Cantin<p>I recently released a small Clojure(script) library which handles reactive computations and effects.</p><p><a href="https://github.com/metosin/signaali" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/metosin/signaali</span><span class="invisible"></span></a></p><p><a href="https://functional.cafe/tags/clojure" class="mention hashtag" rel="tag">#<span>clojure</span></a> <a href="https://functional.cafe/tags/clojurescript" class="mention hashtag" rel="tag">#<span>clojurescript</span></a></p>
razzlom is always sad<p><a href="https://bbs.quietplace.xyz/dev/thread/45.html#48" rel="nofollow noopener" target="_blank">https://bbs.quietplace.xyz/dev/thread/45.html#48</a><span><br><br>Почему Clojure кажется хорошим выбором?<br><br></span><a href="https://quietplace.xyz/tags/Clojure" rel="nofollow noopener" target="_blank">#Clojure</a> <a href="https://quietplace.xyz/tags/ClojureScript" rel="nofollow noopener" target="_blank">#ClojureScript</a> <a href="https://quietplace.xyz/tags/ClojureCLR" rel="nofollow noopener" target="_blank">#ClojureCLR</a> <a href="https://quietplace.xyz/tags/ClojureDart" rel="nofollow noopener" target="_blank">#ClojureDart</a> <a href="https://quietplace.xyz/tags/Babashka" rel="nofollow noopener" target="_blank">#Babashka</a></p>
valerauko<h2>Untyped JS objects in ClojureScript</h2> Working on a Chrome plugin I got to use ClojureScript in yet another new environment. After the usual browser setup, Node, Deno and Github Actions, this time it was the Chrome plugin system. While it was mostly a very smooth ride, I had a little trouble figuring out how to deal with a "Cannot infer target type in expression" warning. It showed up while dealing with a HAR entry object passed in to my callback from devtools.network.onRequestFinished. The HAR object, while its shape is well defined, is not typed in a strict sense (though I guess there may be some type definition for it somewhere out there if I looked hard enough). That's why when I tried to access its fields like (-&gt; entry .-request .-url) the ClojureScript compiler (through Shadow CLJS) would complain about inferring the "target type" as above. […] <p><a href="https://blog.valerauko.net/2024/12/10/untyped-js-objects-in-clojurescript/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.valerauko.net/2024/12/10/</span><span class="invisible">untyped-js-objects-in-clojurescript/</span></a></p>