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

Delivering a State-Machine with CSS / Another approach to Angular SEO

CSS is the language developers love to hate. This is mostly because of the inconsistent syntax. But many fail to recognize the power of modern CSS. I’m here to give an example of CSS power that may very well blow your mind. As an... Continue →