I discovered Prolog in my youth, and logic has been something of an addiction ever since - not always, I suspect, a particularly useful one.<p>Lately, though, I have found what may be an antidote in Emacs, Lisp, and functional programming.<p>Then again, perhaps I have merely traded one elegant addiction for another.