[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dylan Wiki FAQ question



In the Dylan Wiki FAQ page:

http://monday.sourceforge.net/wiki/index.php/DylanFrequentlyAskedQuestions

is the following example of a "abstract instantiable class":

  define open abstract class <abstract-foo> (<object>)
     // slots, maybe
   end class;

   define class <concrete-foo> (<abstract-foo>)
     // slots
   end class;

   define sealed method make(class == <abstract-foo>,
                             #rest key-value-pairs,
                             #key, #all-keys)
    => (instance :: <abstract-foo>);
     apply(make, <concrete-foo>, key-value-pairs);
   end;

How does the first argument to make (class == <abstract-foo>) work?
Isn't it supposed to be a class? What am I missing?

-- Doug