[ Pi µvar: 3.14159265358979; Self makePoint µmethod: [ x µvar: 0; y µvar: 0; self setX: newX µmethod: [ x µ<- newX; self ]; self setY: newY µmethod: [ y µ<- newY; self ]; self area µmethod: [ 0 ]; Self addRadius µmethod: [ r µvar: 0; self setR: newR µmethod: [ r µ<- newR; self ]; self area µmethod: [ Pi * r sqr ]; Self addSecondRadius µmethod: [ rr µvar: 0; self setRR: newRR µmethod: [ rr µ<- newRR; self ]; self area µmethod: [ Pi * r * rr ]; µself ]; µself ]; Self addSide µmethod: [ s µvar: 0; self setS: newS µmethod: [ s µ<- newS; self ]; self area µmethod: [ s sqr ]; Self addSecondSide µmethod: [ ss µvar: 0; self setSS: newSS µmethod: [ ss µ<- newSS; self ]; self area µmethod: [ s * ss ]; µself ]; Self addAngle µmethod: [ a µvar: 0; self setA: newA µmethod: [ a µ<- newA; self ]; self area µmethod: [ a sin * s sqr ]; µself ]; µself ]; µself ]; Point µvar: Object makePoint; Circle µvar: Point addRadius; Ellipse µvar: Circle addSecondRadius; Square µvar: Point addSide; Rectangle µvar: Square addSecondSide; Diamond µvar: Square addAngle; P µvar: Point µclone; P setX: 0; P setY: 0; C µvar: Circle µclone; C setX: 0; C setY: 0; C setR: 1; E µvar: Ellipse µclone; E setX: 0; E setY: 0; E setR: 1; E setRR: 2; S µvar: Square µclone; S setX: 0; S setY: 0; S setS: 1; R µvar: Rectangle µclone; R setX: 0; R setY: 0; R setS: 1; R setSS: 2; D µvar: Diamond µclone; D setX: 0; D setY: 0; D setS: 1; D setA: Pi / 6; " area of point = " display; P area display; Eoln display; " area of circle = " display; C area display; Eoln display; " area of ellipse = " display; E area display; Eoln display; " area of square = " display; S area display; Eoln display; " area of rectangle = " display; R area display; Eoln display; " area of diamond = " display; D area display; Eoln display ] µvalue