IntroI’ve been programming in Clojure for a long time, but I haven’t been using transducers much. I learned to mechanically transform (into [] (map f coll)) to (into [] (map f) coll) for a slight performance gain, but not much beyond that. Recently, however, I’ve found myself refactoring transducers-based code at work, which prompted me to get back to speed. I found Eero Helenius’ article “Grokkin
This article is about laziness in Clojure. It is intended to be a comprehensive and objective (however possible) critique of lazy sequences as a feature. In no way do I want this to be a judgment of the decision to make Clojure lazy. Clojure the language is by no means formulaic; creating it involved making a plethora of impactful choices. We can judge by Clojure's longevity that the total package
Date: June 22nd, 2023 IntroductionBefore getting too far into the weeds, let's begin with the results. Without too much effort, an AI was written in clojure that could complete all of the levels in the original Super Mario Bros for the NES except for the Bowser levels that have mazes. Namely, levels 4-4, 7-4, and 8-4 were not completed (more on this later). Here's what a solved level looks like: Y
IntroductionResultsHidden Gemspvalues and pcallsparse-*iterationmin-key and max-keyrandom-uuidUsage of clojure.core functions added in 1.10 and 1.11Reference type usageVar Definitions and MacrosLein vs depsLocal namesLocal name lengthsLocal binding names that are a single letterEmoji and unicode in namesFailed AnalysesBiasesFuture WorkMundane ImprovementsUse a databaseExample UsagesImproved Code S
A case for ClojureScript 2.0 I was complaining the other day about the ergonomics of ClojureScript and realized an interesting thing. Quick context: Clojure is a modern Lisp. ClojureScript is a Clojure dialect that compiles to JS. From its very beginning, it relied on the Google Closure compiler in an elaborate plan to confuse people with Clojure/Closure naming (joking). It has two important compi
At Red Planet Labs we’ve been quietly developing a new kind of developer tool for many years. Our tool reduces the cost of building large-scale end-to-end applications by multiple orders of magnitude, and Clojure is a big reason why we’ve been able to tackle such an ambitious project with a small team. Our codebase consists of 250k lines of Clojure split evenly between source and test code. It’s o
One of the prime value propositions in using a Lisp language is that you should be able to connect to and interact with your live program. Doing so allows you to access and explore the program state. The typical access mechanism for Clojure programs is the REPL, but its textual output is not ideal for robust data exploration. Instead, an interface that allows you to browse and navigate the data in
com.hyperfiddle/electric {:mvn/version "v2-alpha-540-ga4699532"} · 2024 Jan 10 · Changelog Electric is a reactive and network-aware Clojure/Script DSL that fully abstracts over client/server state sync at the programming language layer, in order to achieve strong composition across the frontend/backend boundary in dynamic web apps. With Electric, backend expressions (i.e. queries) and frontend exp
Everything should be made as simple as possible, but no simpler Albert Einstein Getting Started Contribute CI Platform Bob allows you to build your own custom CI / CD infrastructure thanks to it's composable architecture, allowing you to use Bob for various different purposes. Built on secure, rootless runtimes, Bob is flexible to run in modern Cloud Native environments. You are in control Bob is
IntroductionIn my Previous Articles I have described how to setup your environment for Overtone regarding system audio, basic Overtone project, VS Code IDE and Emacs editor/IDE. This and the following articles will be completely environment agnostic, meaning you can follow it regardless of what is your preferred setup, as long as it satisfied general requirements. Overtone PlaygroundIf you want ev
Posts Starting your Computer Music Journey with Clojure and Overtone in Emacs In this post I want to write about probably the most powerful text editor there is: Emacs and how to set it up so you can begin programming and live coding with Overtone in no time. Many users would disagree and argue that vi/Vim is the king of editors, and I’m not going to get into that bickering, which has lasted for s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く