The Next Step in the Life of Grunge.js

Grunge.js is what I can call my first major Open Source project. It launched without much fanfare. And it’s been stagnant ever since. It has seen little activity on Github, and almost no one has actually used it on a real project. Hell, even I’ve never actually used it on a project.

Grunge.js was my way to put generators to use and make something interesting. Turns out, Lazy.js does most of the things it does, and the few things that it does that other libraries don’t are edge-cases that people usually don’t care about.

Grunge.js, I thought, was going to turn into just a library for academic interest, but then I saw transducers and js-channels. At first, I didn’t really get it, but then I saw how amazing transducers could be.

They are fast, and extremely flexible. They make it possible to treat channels and observables as just another collection you can map over.

However amazing transducers are, they are not designed to be like other javascript based utility libraries. It’s almost a one-to-one conversion of ideas from clojure.

This where I want to take Grunge. Grunge.js 2.0 should do what transducers do for you, but in a syntax that is more familiar to javascript developers. And, I’ll also have lazy evaluation, so that should be pretty awesome. I can’t wait to see how it performs.

 
18
Kudos
 
18
Kudos

Now read this

CSS in JS in CSS

Once upon a time, HTML was the only language on the web. Styling was done with tables and color tags. Then CSS came along, and changed how we though about design. CSS selectors grew to let you target almost any element on your page in... Continue →