[EMAIL PROTECTED] wrote:
> I was wondering if someone could provide me with a quick summary
> regarding what is meant by Rebol being "object based" but not "object
> oriented"?
Has first-class objects, i.e. has (limited) encapsulation via use and
other scope trix, has developer-directed delegation / embedding, has no
runtime-supported inheritance. OOP == inheritance, often class-based.
"Object-based" usually == encapsulation, arbitrary datatype support, some
notion of lifecycle, delegation, but no inheritance / automagic
type-based or graph-based dispatching. Possibly Rebol could be
considered "prototype-based," which (if anything) is how I would classify
Rebol on the "object language patterns" scale. Note to the weary:
parents are shared parts of objects. Prototypes are a superset of
class-based inheritance; being "object-based" is actually a superset of
being traditionally "object-oriented." Cf. the Self Papers. (Google
it.) For the truly ambitious / warped / lifeless ;-) see Abadi &
Cardelli's object calculus,
http://www.luca.demon.co.uk/TheoryOfObjects.html or similar books /
papers / works that cite them.
Which, if anything, gives the best academic / theoretic supporting
argument to Carl's intuitive argument that (paraphrasing) objects just
aren't where it's at. Turns out lambda calculus and object calculus with
types are *really, really* hard to reconcile. My money's on the
functional side, so Rebol and Scheme and (ahem, ick, typing by madmen)
even Haskell win big.
BTW: language archaeologists and other weirdos ;-) (hey I'm one too!)
should dig up anything they can find on Jon Blow's "FMPL" language and
implementations from circa 91-92. Eerie similarity to Rebol in many
ways, but basically an event-driven MUD / network application language
based on and syntactically related to Rebol. Pre-Rebol, this language
did the best job I've seen of reconciling functional programming and
objects.
$0.02,
jb
> Thanks in advance.
>
> ---
> Robert Marier
NP. (complete.) ;-)