atomic
tallstack
atomic | tallstack | |
---|---|---|
12 | 1 | |
32 | 31 | |
- | - | |
8.9 | 1.7 | |
7 days ago | about 1 year ago | |
JavaScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
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
tallstack
-
Do you do full-on FP in JavaScript? Want it?
The lack of tail call recursion makes JS a bit less attractive for pure FP everywhere. Though I did write a library of JS data structures based on this book, and even a virtual call stack library.
What are some alternatives?
vscode-haskell - VS Code extension for Haskell, powered by haskell-language-server
proposal-command-syntax - Proposal: Command Syntax for JavaScript
episode-code-samples - 💾 Point-Free episode code.
proposal-first-class-protocols - a proposal to bring protocol-based interfaces to ECMAScript users
electric - a reactive Clojure dialect for web development that uses a compiler to manage the frontend/backend boundary
squint - Light-weight ClojureScript dialect
euphoria - The Euphoria programming language (https://openeuphoria.org/)
learn-you-a-haskell - “Learn You a Haskell for Great Good!” by Miran Lipovača
elm-architecture-tutorial - How to create modular Elm code that scales nicely with your app
todomvc - Helping you select an MV* framework - Todo apps for React.js, Ember.js, Angular, and many more
purely-functional-data-structures - TypeScript implementations and exercises from Chris Okasaki's book, Purely Functional Data Structures