I am not called Fenderson anymore. This page is for historical reasons.
I like Scheme and all other languages.
I think OnceAndOnlyOnce
is the clearest definition of good code that's ever been formulated.
I did a scheme implementation of Levenshtein distance that is (in december 2004) available at http://en.wikipedia.org/wiki/Levenshtein_distance
It requires srfi-25 and srfi-13. (I also have a version that's four lines shorter, that uses another iteration construct than the nested string-for-each-index, but the definition of that iteration construct is in itself so long (and so unoptimized) that it felt OT to post it there. I use it in enough functions in my code that it makes sense. I'm probably going to redo that iteration construct as a macro, which would make it even longer, but a bit faster. Or maybe I'll just start using the loop macro. But hey, OptimizeLater
. (The loop macro didn't do what I wanted - namely replace nested loops - but I did a macro of my own that I posted here: http://groups-beta.google.com/group/comp.lang.scheme/msg/5aef39e23e294ca9 update: currently using srfi-42 for this, instead.)
Anyway, the point of the story is that I felt pretty dumb and self-righteous, having posted my implementation on wikipedia and the chicken mailing list without looking at other scheme levenshtein implementions first. So I felt embarrassed for a couple of days, but today I finally got to look at the other implementations, and you know what? I don't think I did too bad, anymore! The other ones are good, too, but mine compares with them.
I'm starting to think that I'm an OK programmer, despite A) never having had a real programmer job, and B) once making some very embarrassing C pointer mistakes on a web forum.