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.

 
19
Kudos
 
19
Kudos

Now read this

Infinite Sequences with Generators: Grunge.js

My introduction to javascript began, like many other people, with jQuery. For a while, javascript and the DOM seemed like the same thing. Later, as I learnt what javascript really was, I started to use and appreciate tools such as... Continue →