guile-devel
[Top][All Lists]
Advanced

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

Re: The GH interface. (was: Patch for gh.h)


From: Neil Jerram
Subject: Re: The GH interface. (was: Patch for gh.h)
Date: 13 May 2001 11:53:17 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

>>>>> "Marius" == Marius Vollmer <address@hidden> writes:

    Marius> Marius Vollmer <address@hidden> writes:
    >> Yes.  What do people think of the GH interface, in general?

    Marius> Thanks for your replies!

    Marius> I haven't made a decision for my own yet, what to do with
    Marius> the gh_ interface, but I'll come back to it soon.

Great, but if there was one bit of documentation that I really _would_
like to fix before the 1.6.0 release, it would be this - i.e. a clear
position on the GH interface.

I think we've reached consensus on the key points that

- a large part of the present SCM interface is sufficiently stable and
  portable that there is no value for GH to add to it

- this part of the SCM interface should therefore become part of the
  interface intended for application developers to use.

Various options have been proposed for combining the portable part of
the current SCM interface with the current GH interface:

1) Deprecate the current GH interface and advise developers to use the
   `exported' part of the SCM interface, where the exported/internal
   distinction is achieved by

   1a) surrounding internal declarations in header files with `#ifdef
       SCM_INTERNAL'...`#endif'

   1b) moving internal declarations into private header files

   1c) consistently naming internal definitions with scm_i_ and SCM_I_
       prefixes.

I'm not sure whether anyone has proposed the next; if not, I'll
propose it now:

2) Promote all `exported' SCM definitions into the GH interface by
   renaming them from scm_ and SCM_ to gh_ and GH_, and advise
   developers to use only the GH interface.  Create a deprecated
   compatibility interface mapping the old scm_ and SCM_ names onto
   gh_ and GH_.

In addition to these practicalities, two other aspects of the problem
are relevant:

- There seems to be a strong historical perception that the GH
  interface would eventually mature and become the standard for
  application development using Guile.  (See guile-user email from
  Keith Wright, who expresses this much better than I can.)

- We have to consider the effort required by users of both SCM and GH
  interfaces to adapt to whatever we decide.

I think it would be worthwhile to resolve this question before 1.6.0,
and I hope that this summary helps us do that.

        Neil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]