Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • dtc's avatar
    80942d67
    Rework the PCL class hierarchy to better match the disjoint instance · 80942d67
    dtc authored
    and funcallable-instance types within CMUCL. Add the new class
    funcallable-standard-object, and the new class std-object as a
    superclass of both standard-object and
    funcallable-standard-object. Generic-functions are now
    funcallable-standard-objects implemented as FINs and disjoint from
    standard-objects which are implemented as instances in CMUCL, fixing
    some problems in the type system.
    
    This change moves the PCL implementation away from the MOP
    specification which requires that generic-functions be
    standard-objects. However ANSI CL does not require generic functions
    to be standard-objects and the MOP author Gregor Kiczales suggests it
    is appropriate for generic functions to be disjoint from
    standard-objects.
    80942d67
    History
    Rework the PCL class hierarchy to better match the disjoint instance
    dtc authored
    and funcallable-instance types within CMUCL. Add the new class
    funcallable-standard-object, and the new class std-object as a
    superclass of both standard-object and
    funcallable-standard-object. Generic-functions are now
    funcallable-standard-objects implemented as FINs and disjoint from
    standard-objects which are implemented as instances in CMUCL, fixing
    some problems in the type system.
    
    This change moves the PCL implementation away from the MOP
    specification which requires that generic-functions be
    standard-objects. However ANSI CL does not require generic functions
    to be standard-objects and the MOP author Gregor Kiczales suggests it
    is appropriate for generic functions to be disjoint from
    standard-objects.