Re: no constants please Richard Kelsey (04 Jan 2004 18:11 UTC)
Re: no constants please felix (04 Jan 2004 19:25 UTC)
Re: no constants please Richard Kelsey (04 Jan 2004 20:08 UTC)
Re: no constants please Tom Lord (04 Jan 2004 21:13 UTC)
Re: no constants please Tom Lord (04 Jan 2004 21:43 UTC)
Re: no constants please Richard Kelsey (04 Jan 2004 22:59 UTC)
Re: no constants please Tom Lord (05 Jan 2004 00:50 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:19 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 11:42 UTC)
Re: no constants please Tom Lord (05 Jan 2004 16:26 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 17:49 UTC)
Re: no constants please Tom Lord (05 Jan 2004 18:24 UTC)
Re: no constants please Michael Sperber (05 Jan 2004 18:48 UTC)
Re: no constants please Tom Lord (05 Jan 2004 22:00 UTC)
Re: no constants please Michael Sperber (06 Jan 2004 07:42 UTC)
I don't believe in "(may GC)" Tom Lord (05 Jan 2004 00:55 UTC)
Re: I don't believe in "(may GC)" Richard Kelsey (05 Jan 2004 12:07 UTC)
Re: I don't believe in "(may GC)" Shiro Kawai (05 Jan 2004 12:45 UTC)
Re: I don't believe in "(may GC)" bear (05 Jan 2004 18:16 UTC)
Re: I don't believe in "(may GC)" Tom Lord (05 Jan 2004 16:35 UTC)
Re: I don't believe in "(may GC)" bear (05 Jan 2004 17:54 UTC)
Re: I don't believe in "(may GC)" tb@xxxxxx (06 Jan 2004 01:39 UTC)
Re: I don't believe in "(may GC)" Michael Sperber (06 Jan 2004 07:39 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:05 UTC)
Re: no constants please Tom Lord (05 Jan 2004 01:12 UTC)
Re: no constants please Richard Kelsey (05 Jan 2004 12:17 UTC)
Re: no constants please Tom Lord (05 Jan 2004 17:40 UTC)
Re: no constants please Michael Sperber (05 Jan 2004 19:03 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 01:37 UTC)
Re: no constants please Richard Kelsey (06 Jan 2004 02:15 UTC)
Re: no constants please Tom Lord (06 Jan 2004 02:29 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 02:31 UTC)
Re: no constants please Richard Kelsey (06 Jan 2004 03:10 UTC)
Re: no constants please tb@xxxxxx (06 Jan 2004 03:14 UTC)
Re: no constants please Tom Lord (06 Jan 2004 04:06 UTC)

Re: I don't believe in "(may GC)" Richard Kelsey 05 Jan 2004 12:06 UTC

   Date: Sun, 4 Jan 2004 17:21:41 -0800 (PST)
   From: Tom Lord <xxxxxx@emf.net>

   The draft FFI says:

       double SCHEME_EXTRACT_DOUBLE(scheme_value)
       char * SCHEME_EXTRACT_STRING(scheme_value)

   Neither says "(may GC)".

   If I'm using some exotic number representation (constructive reals,
   perhaps), then EXTRACT_DOUBLE may very well involve some pretty hairy,
   hence possibly GC-causing, computation.

This doesn't worry me too much; there aren't a lot of such
implementations around.

   If I'm using some exotic string representations (I'm working on a
   functional-splay-tree string type for Pika) -- same deal:
   extract-string may take some (possibly GC-causing) work.

This does worry me (it's listed in the 'issues' section of the SRFI).
I think we went overboard here.  Something like

    SCHEME_EXTRACT_STRING_CONTENTS(scheme_value, index, count, buffer)

which copies 'count' characters starting from 'index' into 'buffer'
would be better.  Presumably this can be done without GCing.

   Even something innocent like:

	int SCHEME_CHAR_P(scheme_value)

   can cause GC if my implementation let's me attach to a hook in its
   implementation.

Again, I don't think this will be very common.  Is there an existing
implementation for which this (or anything similar) is an issue?

                                           -Richard Kelsey