<class> accessors implemented in Scheme
authorAndy Wingo <wingo@pobox.com>
Fri, 9 Jan 2015 20:01:03 +0000 (21:01 +0100)
committerAndy Wingo <wingo@pobox.com>
Fri, 23 Jan 2015 15:16:01 +0000 (16:16 +0100)
commit70dd600070c6d7abb072d85a5f0fccfd0b13e5e6
treef274d85f12ae9abb379c6d6700bfe82a3b9e5b2c
parent8dfc0ba573a536430897b565e30178484d4652ac
<class> accessors implemented in Scheme

* libguile/goops.c (scm_class_p): New internal helper, exported to
  goops.scm.
  (scm_class_name, scm_class_direct_supers, scm_class_direct_slots):
  (scm_class_direct_subclasses, scm_class_direct_methods):
  (scm_class_precedence_list, scm_class_slots): Dispatch to Scheme.
  (scm_sys_goops_early_init): Capture <class> accessors.

* module/oop/goops.scm (define-class-accessor): New helper.
  (class-name, class-direct-supers, class-direct-slots):
  (class-direct-subclasses, class-direct-methods)
  (class-precedence-list, class-slots): Define in Scheme.
  (compute-std-cpl, compute-cpl): Move lower.
libguile/goops.c
module/oop/goops.scm