This is the mail archive of the guile@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: gh_enter reconsidered



    Tim> If it's merely tedious to write the code for a dozen
    Tim> architectures, somehow I can't believe that it hasn't been
    Tim> done before.

Not that many people contribute to Guile, so it doesn't surprise me
too much.

    Tim> Surely some other publicly available package must have had to
    Tim> do the same thing?  If it's not running fast enough, we could
    Tim> steal it....

Whenever I mention the issue to the authors of other embedded
interpreters, they say that they could not imagine the need to (1)
burden their users with such an arcane approach as SCM's, and (2) use
such an implementation-dependent feature as a top of stack.

Below is what Guido told me in one exchange a long time ago:

>     Guido> Alas, I have no suggestion for a name for this function.  I
>     Guido> don't understand why you need it -- Python has no need for
>     Guido> such an implementation specific thing...
> 
> Does Python use a conservative garbage collector?  Several Scheme
> interpreters do, and it has some strenghts.  Unfortunately it likes to
> control the main program for robustness.

No, I decided against it because I didn't want to have to know what
was under the hood of the C compiler, and I didn't want the GC to mess
with C code used by extensions or embedding apps.  However someone in
Russia succesfully ported Python to the Xerox conservative collector.


> I'm about to study the embedded python interface in detail (I want to
> use it together with Guile in the same application), so I guess I'll
> figure out how the initialization and GC of C-controled Python objects
> works.

If you can, wait till 1.5 is out.  Things are a lot easier and more
rational there.  The (embarrassingly incomplete) docs for that are at
http://grail.cnri.reston.va.us/python/1.5a3/api/

> PS: By the way, SCM (a popular Scheme interpreter) probably runs on as
> many platforms as Python, so the technique does port.  I just

[You were broken off there.]  Is SCM embeddable in COM applications
like Python?  Is SCM embeddable in other apps and extensible with C
code that links with other software like, e.g., Tcl/Tk?