"Damian Conway" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Dave Whipp suggested: > > > The size constraints are probably C<but> properties, as is C<locked>. The > > exception behavior probably deserves to remain an C<is> property. > > Nope. They're all C<is> properties. C<but> properties only apply to *values*. > Variable such as Arrays always take C<is> properties.
This confuses me: I thought an array *is* a value. Sure, its a value that holds other values: but an array is a run-time construct, which is not (necessarily) lexically scoped, and which changes over time. Am I missing something? Are you distinguishing between value-semantics and reference-semantics? Are you saying that only scalars have C<but> properties (i.e. an ArrayRef can, but an array can't)? My mental image is of variables that provide access to values: variables are compile-time, and lexically scoped: values are run-time, and (can be) dynamically scoped. Dave. -- mailto:[EMAIL PROTECTED]; http://dave.whipp.name