Module management strikes again

From the very beginning I claimed neutro is a quick-and-dirty solution, needed to have something to install modules while experts build the real thing ™. Experts still didn’t, neutro got quite bloated and under-thought-about. It evolved from 50-line script running git, ufo and make to a big, untested and horrible block of code. Not that bad while that was working. Time has passed, things started to break, no tests, no modularity: crap. I decided refactoring will be so close to a complete rewrite that it wasn’t worth the effort. Let’s try some TDD and produce something worthwhile.

Funny, that after some thinking and designing I ended up with something almost identical to masak’s Pls: the thing that was to replace proto, being modular, testable and stuff. Noticed the resemblance? History repeats itself. So Pies (or Dog, as english people say) was written. Like Pls, it was rather a specification than an implementation. And so Panda was written: a module installer being an implementation of Pies.

Disclamer: my dog is named Panda. You may think this whole naming is just to have fun writing “class Panda is Pies”. Well, I won’t feel right denying that. But it was not the only reason, really!

After some hacking, some code stealing, sometime during the Holland Hackathon Panda became usable and useful, thus deprecating neutro. That’s right, neutro is now being replaced. It did its job for some time, but it wasn’t one of this temporary solutions which stay forever. What a relief.

So, panda (living on https://github.com/tadzik/Pies) is now ready to test and use. Go and get it! And I promise, I’ll write a specification of the META.info format soon. Sooner or later, probably sooner than later.

Any bugreports, ideas and criticism about Pies/Panda are as welcome as always.