Hacker News new | comments | ask | show | jobs | submit login

> in CL everything, including integers and similar basic types, is an object - nothing has to be boxed or unboxed, nor does one necessarily need to instantiate objects in order to use them.

This is what CL people say, certainly; what you think of this statement (true? useful? a bad definition of 'object'?) depends entirely on what you think an 'object' is.

If you're a Smalltalker (or a Java programmer, or a C++ programmer, or a user of any language that got its object system from Smalltalk), then an object is something that can respond to messages. CLOS doesn't work like this: There are no messages, and expressions don't contain objects privileged to be the recipient of the message being used; therefore, a Smalltalker might well say that while CLOS has inheritance and polymorphism, it doesn't have objects as such.

(And, off in the corner, some C programmers are insisting that an int is a perfectly good object.)

I think that argument is nonsensical (it's covered well on the CL wiki btw - http://c2.com/cgi/wiki?HowObjectOrientedIsClos ). CLOS clearly has messages (which are implemented with methods).

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact