Example: Dragon

start
   def dy(s, n) {
      pass;
   }
   def dx(s, n) {
      start
         v := 14142135 / 20000000;
         if (n <= 0) {
            forward s;
         }
         else {
            start
               turn 45;
               call dx(s * v, n-1);
               turn 0-90;
               call dy(s * v, n-1);
               turn 45;
            end
         }
      end
   }
   def dy(s, n) {
      start
         v := 14142135 / 20000000;
         if (n <= 0) {
            forward s;
         }
         else {
            start
               turn 0-45;
               call dx(s * v, n-1);
               turn 90;
               call dy(s * v, n-1);
               turn 0-45;
            end
         }
      end
   }
   def dragon(s, n) {
      call dx(s, n);
   }
   forward 0-250;
   turn 90;
   forward 0-80;
   turn 0-90;
   down;
   call dragon(600, 12);
end