class point // A point in two-dimensional space { double x,y; } class animal // Base clase for animals { morph flow name() into string name {name = "animal";} morph flow dims() into point p {p = (1,1);} } animal animal = (); class zebra extends animal { morph flow name() into string name {name = "zebra";} morph flow dims() into point p {p = (4,5);} } zebra zebra = (); class frog extends animal { morph flow name() into string name {name = "frog";} } frog frog = (); flow distance(point a, point b) into double d { double dSquared; double dx = a.x - b.x; double dy = a.y - b.y; dSquared = dx*dx + dy*dy; d = sqrt(dSquared); } array of int arr = (1,2,3,4); to printInfo(animal a) { int b = 3; prin(a.name()); prin(" "); print(a.dims()); arr[b] = 666; } printInfo(animal); printInfo(frog); printInfo(zebra); prin("frog to zebra difference "); print(distance(frog.dims(), zebra.dims()));