This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]