Sunnan Fenderson

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 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: 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.


EditText of this page (last edited December 21, 2004) or FindPage with title or text search