atomic
todo
Our great sponsors
atomic | todo | |
---|---|---|
12 | 2 | |
32 | 0 | |
- | - | |
7.0 | 2.0 | |
about 1 month ago | 10 months ago | |
JavaScript | JavaScript | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
atomic
-
Should all Clojure functions be polymorphic by default?
I wanted ClojureScript, without transpilation, in the browser so badly I implemented much of it in plain JS. But JS still lacks first-class protocols (although there is a T39 proposal for them) so I have to implement protocols first. And I can tell you from having implemented much of Clojure myself in plain JS that it's protocols all the way down. 80% of my library are types and their protocols.
-
Do you do full-on FP in JavaScript? Want it?
I've watched a lot of talks, but it was Rich Hickey's which most captivated me and, ultimately, inspired big change in how I coded. After discovering Clojure I was so desiring FP (i.e. ClojureScript) in the browser without a build step and hoard of dependencies that I wrote my own library.
-
FP and JavaScript/TypeScript
I fell in love with Clojure and ported most of the tools to plain ol' JavaScript. I stole reactives and FRP from Elm. I write a functional core then wrap it with an imperative shell. It's been my mainstay for 10 years now.
-
What do functional programmers like functional programming?
What I did was looked past the languages at the ideas and saw they could be applied everywhere, including JavaScript. Take a look at my example programs (via prior link) and you can see Clojure applied to the JavaScript/browser realm.
-
Writing Javascript without a build system
I have found that the amount of code needed to support any page/app need not be massive. I have implemented modern board games with 250-300KB of js and the core lib I use on all my projects maxes out around 250KB, unminified. The lib itself is built on the premise of build avoidance.
-
Do you guys work with other languages?
I do JavaScript most of the time, but I was so inspired that I ported the Clojure mindset into the web development world so I could use it even in the absence of Clojure. I know there's ClojureScript, but I wanted the goodness without transpilation.
-
On Not Drinking the FP Kool-Aid
So I don't even do Clojure per se. I do Clojure in JavaScript without ClojureScript.
-
side effects in fp: to accept or not to accept
I use functional core, imperative shell. It would have you write a core which is a pure simulation. Write everything in the core using immutable data and pure functions. I elaborate on that here, along with examples.
- GitHub - mlanza/atomic: Write Clojuresque functional core, imperative shell programs in JavaScript.
- Clojuresque functional core, imperative shell programs in JavaScript
todo
-
Humble Chronicles: Managing State with Signals
I have a Todo MVC demonstration as well.
-
On Not Drinking the FP Kool-Aid
I wrote a TodoMVC example and I think it's pretty readable even to the OO programmer. And the unfamiliar stuff I'm doing wouldn't be a crazy leap for them.
What are some alternatives?
vscode-haskell - VS Code extension for Haskell, powered by haskell-language-server
episode-code-samples - 💾 Point-Free episode code.
electric - a reactive Clojure dialect for web development that uses a compiler to infer the frontend/backend boundary
missionary - A functional effect and streaming system for Clojure/Script
squint - Light-weight ClojureScript dialect
RxJava - RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
proposal-command-syntax - Proposal: Command Syntax for JavaScript
milewski-ctfp-pdf - Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
euphoria - The Euphoria programming language (https://openeuphoria.org/)
Elm - Compiler for Elm, a functional language for reliable webapps.