[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: s-exprs + prototypes

> Date: Sat, 21 Jun 2003 23:05:53 -0700
> From: James McCartney <asynth@io.com>
> Lisp does lock you in. It locks you into a world where you have to 
> implement an object system if you want one (different than CLOS) and 
> when you do, you still have these things in it that are not objects.

I have yet to see any language with built-in OO that gives you a choice of
object systems.  So what's your point?  I would rather have the option of
using one of several object systems than be forced to use a particular one.
If, alternatively, you are saying "we give you a basic, useful OO system
that is acceptable 95% of the time, and we allow you to implement a
different object system on top of that if you want to" I'd be more
persuaded.  Is that what you're advocating?

If anything, lisp encourages you to use a functional style (scheme even
more so).  But this is hardly locking in.  ML languages encourage you even
more, by making the syntax very friendly to functional programs but
somewhat hostile to imperative ones.

> Smug Lisp Weenies: we've taken your lambdas and now we're taking your 
> s-exprs and macros. Soon there will be no leg to stand on.

Soon you'll be coming for our women too ;-)

Seriously, go for it.  Lisp and scheme don't own s-expressions.  Maybe
you're right and I'm wrong.  But I don't feel "smug"; I just don't see your
point.  Are objects really that basic?  Functions are basic.  Data is
basic.  Is inheritance basic?  There are multiple ways to handle
inheritance.  How many ways are there to handle function application?