This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: GOOPS's class hierarchy
I wrote:
> This is a better diagram of GOOPS's class hierarchy:
>
> http://gemacs.sourceforge.net/guile/hierarchy.ps
By the way, GOOPS has two <file-port> classes:
guile> (class-direct-subclasses <port>)
(#<<class> <void-port> 40217990> #<<class> <soft-port> 401eb4b0> #<<class> <string-port> 40224220> #<<class> <file-port> 402255a0> #<<class> <file-port> 402061d0> #<<class> <output-port> 401e7790> #<<class> <input-port> 401d6a20>)
because Guile creates two file ports:
void
scm_ports_prehistory ()
{
scm_numptob = 0;
scm_ptobs = (scm_ptob_descriptor *) malloc (sizeof (scm_ptob_descriptor));
/* WARNING: These scm_newptob calls must be done in this order.
* They must agree with the port declarations in tags.h.
*/
/* scm_tc16_fport = */ scm_make_fptob ();
/* scm_tc16_pipe was here */ scm_make_fptob (); /* dummy. */
/* scm_tc16_strport = */ scm_make_stptob ();
/* scm_tc16_sfport = */ scm_make_sfptob ();
}
I don't know why this is necessary.
Keisuke Nishida