Brendan Eich (2013-04-13T18:51:52.000Z)
Claude Pache wrote:
> Therefore, I think we should make a rule: `new Primitive` should throw for primitive types

That's the plan for new value objects, e.g. int64 and uint64.

Further, for aggregates created by binary data (structs and typed 
arrays) we have emerging consensus that new T(...) makes a mutable 
aggregate while T(...) makes an immutable value object, which can be 
optimized by VMs (e.g., stack allocation, hashcons'ing, etc.).

/be
github at esdiscuss.org (2013-07-12T02:26:55.558Z)
Claude Pache wrote:
> Therefore, I think we should make a rule: `new Primitive` should throw for primitive types

That's the plan for new value objects, e.g. `int64` and `uint64`.

Further, for aggregates created by binary data (structs and typed 
arrays) we have emerging consensus that `new T(...)` makes a mutable 
aggregate while `T(...)` makes an immutable value object, which can be 
optimized by VMs (e.g., stack allocation, hashcons'ing, etc.).