Class new title: VariableLengthClass subclassof: Class fields: '' declare: '' allInstances [user notify: 'use allInstances: instead to specify the length range'] allInstances: t1 [(self allInstancesEver: t1) notNil] allInstancesEver: t1 | t2 t3 t4 t5 [NoteTaker  [user notify: 'not implemented'] t4 _ Vmem pclassesOf: self length: t1. t3 _ Vector new: 128 * t4 length. for t5 to: t4 length do [t3  (t5 - 1 * 128 + 1 to: t5 * 128) all_ t4  t5]. thisContext destroyAndReturn: (self fromFreelist: (Vmem freelistOffset: t1) fill: t3)] classInit [(self new: 1) classInit] copy: t1 | t2 t3 [t2 _ self new: t1 length. for t3 to: t1 length do [t2  t3 _ t1  t3]. t2] howMany: t1 | t2 [t2 _ self allInstancesEver: t1. thisContext destroyAndReturn: t2 length - (t2 count: nil)] new [user notify: 'use new: here.'] new: t1 [t1 > 16384  [user notify: t1 asString + ' is too big a String'] t1 > 8192  [user notify: t1 asString + ' is too big a Vector'] t1 < 0  [user notify: t1 asString + ' -- negative length is invalid'] self new: t1 asInteger] primitive: 28 recopy: t1 | t2 t3 [t2 _ self new: t1 length. for t3 to: t1 length do [t2  t3 _ (t1  t3) recopy]. t2]