Back in late 2007, Paul Graham put up an essay titled “How to Do Philosophy”,
in which Mr. Graham hoped to elucidate where Philosophy went wrong and why the
field, as now practiced, must be renovated to remain useful. In fact, he goes
so far as to suggest that much of philosophy has no benefit whatsoever:
The proof of how useless some of their answers turned out to be is how little
effect they have. No one after reading Aristotle’s Metaphysics does anything
differently as a result.
If I may, as a student of philosophy, I would like to offer my response to
this argument, whose tenets have been repeated many times throughout
Philosophy’s history.
[...]
Another thing to be learned down the Haskell rabbit-hole: Thinking in
infinites. Today someone posed a puzzle which I tried to solve in a
straight-forward, recursive manner: Building a list of primes. The requested
algorithm was plain enough:
Create a list of primes “as you go”, considering a number prime if it can’t be
divided by any number already considered prime.
However, although my straightforward solution worked on discrete ranges, it
couldn’t yield a single prime when called on an infinite range – something
I’m completely unused to from other languages, except for some experience with
the SERIES library in Common Lisp.
[...]
Haskell may be difficult to start out with, but once things start rolling,
they roll fast. Yesterday (real world time, these blog entries are staggered)
I had started the first lines of HackPorts, but now things are getting close
to done for the first version. It’s not that I’ve written much code, but that
it was simple to integrate with other people’s code.
[...]
As I explore Haskell, I’m discovering that one of its trickiest aspects is not
structuring things functionally, but the lazy evaluation. It turns out lazy
evaluation comes with both great benefits, and significant difficulties. I’d
like to point a few of these out, as they’re becoming clearer to me.
[...]
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 [...]