cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Santiago Gala <sg...@hisitech.com>
Subject Re: Problem with JPetStore
Date Sat, 22 Mar 2003 11:42:02 GMT
Christopher Oliver wrote:
> -----Original Message----- From: Sylvain Wallez
> [mailto:sylvain.wallez@anyware-tech.com] Sent: Friday, March 21, 2003
> 11:28 AM To: cocoon-dev@xml.apache.org Subject: Re: Problem with
> JPetStore
> 
> Christopher says that Rhino makes no difference between "object"
> types and primitive types. Now if we consider primitive types as
> being represented like the immutable objectified Java primitive types
>  (Integer, Boolean, etc), there's not much difference between passing
> an immutable object by reference and a real primitive type by value.
> 
> But that's nitcpicking ;-)
> 

Warning: More nitpicking coming:

If you want the "proper" semantics, you have to say "inmutable and using 
the flyweight pattern for instantiation". This is to preserve object 
identity. I.E. two Integer(1) objets must be equals() and also identical(==)

This behaviour is similar to interned ("<astring>".intern() ) Strings in 
java, AKA symbols in lisp.

In lisp and Smalltalk this distinction has bitten me a few times. :-)


> Sylvain
> 
> JavaScript primitives are immutable objects. So I think "passing an
> immutable object by reference" is the correct description. But I
> didn't say that there are no differences between "object" types and
> primitive types in JavaScript. What I said is that there is no
> difference in how they are shared between continuations.
> 
> Regards,
> 
> Chris


-- 
Santiago Gala
High Sierra Technology, S.L. (http://hisitech.com)
http://memojo.com?page=SantiagoGalaBlog



Mime
View raw message