% crochet

type simple;
abstract abstract-type;

type parent;
type inherit is parent;

singleton p;
singleton p2 is p with
  command name = "p2";
end

enum direction = north, east, south, west;

type point(X is integer, Y is integer);

scene main do
  let P = new point(1, 2);
  transcript inspect: P;

  let Directions = search Direction is direction;
  transcript inspect: Directions;
end