

I did what any sensible Lisp hacker does: I wrote my own object system - fogus
http://mikelevins.livejournal.com/3678.html

======
jobeirne
Blue Rondo a la Turk is a great song to write an object system to.

~~~
DrJokepu
I was just listening to that song when I read your comment (and the article)!
What a weird coincidence.

------
gcv
I wouldn't mind seeing the author's code. I decided to use Clojure for a
project, and while it has generally been a good experience, I do miss the
ability to strategically apply CLOS in places.

~~~
icey
I'll be ecstatic if it is well done; I'd love for Clojure to be multi-paradigm
(even if the object system was a bolted-on one).

------
dkarl
_It's an article about how representation, behavior, and taxonomy are distinct
concepts that can be handled separately, despite the fact that object-oriented
languages tend to confuse them._

I don't think "confuse" is the right word. A class-based object system is not
an affirmation that behavior and taxonomy are the same thing, just as a hammer
is not an affirmation against the existence of screws.

------
imbaczek
exactly why i don't like Lisp: every Lisp hacker makes his own object or
whatever system, making it hard for other people to understand his work.

~~~
DrJokepu
Writing unmaintainable crap is really the fault of the programmer, not the
language, isn't it? You can write unmaintainable stuff in any language and I
think Lisp is particularly good at helping the developer keeping the code
clean and easily readable (despite it being very powerful so it's easy to do
very stupid things, I must admit that.)

~~~
WilliamLP
It's easy to do very stupid things, which at the time seem brilliant, and you
don't realize they're stupid until they're so intertwined with the rest of the
project that they're harder to fix than to just deal with.

~~~
thunk
Good point. But you can't reach the simplifying insight by any other road than
your own initial stupidity. It's the way you learn Lisp. At least Lisp breaks
you with grace -- quick and painful. Most other languages spare you the pain
of insight.

And I'm consistently surprised by how easy it is to root out my stupidities
once I've recognized them, thanks to the repl, a functional style and a small
code base. Lisp teaches you to face your fears.

