Harmony classes [Was: Operator overloading revisited]

Mark Miller erights at gmail.com
Wed Jul 22 12:56:26 PDT 2009


> const ParticleMorph(radius, moveRate, dx, dy) {
>  var self = {};
>  addTrait(self, ParticleTrait(self, radius, moveRate, dx, dy));
>  return Object.freeze(self);
> }

Given the additional helper

const complete(MakeTrait) {
  return const MakeObject(...rest) {
    var self = {};
    addTrait(self, MakeTrait(self, ...rest));
    return Object.freeze(self);
  }
}

we can define ParticleMorph as simply

const ParticleMorph = complete(ParticleTrait);



-- 
Text by me above is hereby placed in the public domain

    Cheers,
    --MarkM


More information about the es-discuss mailing list