I’ve been reading Real World Haskell now, after having finished the delightful
Learn You a Haskell Tutorial. I’m up to chapter 6, about to dive into
Typeclasses. In the meantime, I’ve picked a toy project that also has a taste
of usefulness: a script to convert the Hackage database into MacPorts
Portfiles, respecting inter-package and external library dependencies. I call
it HackPorts, of course.
[...]
Recently I changed how the content on this site was generated, from using the standalone OS X application RapidWeaver, to the server-side publishing platform Movable Type. During that transition I changed the site’s style to the minimalist default offered by MT, which uses its own CSS for column layout and typography. Tonight I finally got around to switching the site [...]
Today I need a wrapper script to drop arguments from a command-line. I
instinctively reached for bash
, but then thought it would be a good exercise
for my infant Haskell knowledge.
[...]
Everybody talks about Monads when they mention Haskell, so I got a bit ahead
of myself and wanted to see something of what they’re about. No, don’t worry,
I’m not aspiring to yet another Monad tutorial. I feel I have a ways to go
before I’m ready to craft my own light-saber.
I did read about 10 Monad articles on the Web, and found myself more confused
when I came out than when I went in. Today’s exercise took about 5-6 hours of
pure frustration, before a kind soul on IRC finally set me straight. It sure
is difficult when getting past a single compiler error takes you hours.
[...]
Having just begun my descent down the rabbit hole, I thought I’d try
journaling about what I discover along the way, so that those who are merely
curious can play the part of language voyeur. I’ve always wanted to do that:
to see how someone dives into Erlang or O’Caml or Forth – or Haskell. Here’s
your chance.
[...]
In a recent entry on differences between Haskell and Lisp, one of the Lisp
community’s long-time members, Daniel Weinreb, asked about my stated aversion
to JVM-based languages for everyday computing (sometimes referred to as
“scripting”). Specifically, it was asked in relation to Clojure, and why I
hasn’t been immediately taken by that language – despite it’s having so many
features I respect and admire.
I wanted to respond to Daniel’s question in a separate blog entry, since this
topic has come up so often, it seems, and deserves thought. The JVM is a rich,
mature platform, and you get so much for free by designing new languages on
top of it. The point of debate is: what are the costs, and are they always
worth the asking price?
[...]