![]() ![]() Writing this kind of code makes programming a fufilling experience. There are no nasty corner cases to trip on, and you can adapt the code to new circumstances without losing your hard-won guarantees. It doesn’t go wrong when you tweak it, since you understand the code completely, once you understand it in isolation. While not every program will turn out like this, we do have an idea what qualities the code must have to have that feeling of precision engineering:Ĭode with these features is easy to hack on, to refactor, to tear apart and move around. Such programs aren’t common, but when you’ve written one, you know it. ![]() At their best, these programs have a beautiful, exact coherence. Each component is well specified, and does one task simply and exactly. The best programs feel like precision machines. Cabal, Hackage, and library distributionĪnd how we’d go about rolling our own window manager! Programming precision.Some of the techniques we used to build xmonad aren’t widely known, so in this series of posts I’m going to describe how we did it. It has been fun working on xmonad, and the result has been a very solid, reliable application, built very quickly. The window manager is written in Haskell, and version 0.1 comes in at a light 490 lines of code. For the past few weeks the Spencer Janssen, Jason Creighton and I’ve been working on xmonad, a tiling window manager for X. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |