Re: when GC is permitted Eric Knauel 15 Jan 2004 13:44 UTC

On Thu 15 Jan 2004 00:16, Tom Lord <xxxxxx@emf.net> writes:

>     > - most of scsh
>     > - bindings for ODBC (also for scsh)
>     > - bindings for NIS and LDAP (also for scsh)
>
> I'd appreciate it if you could say more about this: quantities of
> code, filenames and distributions containing them, and what you think
> the effort of migration from native-scsh to draft-ffi would involve.

The scsh CVS repository at sourceforge.net contains ODBC and LDAP
bindings in the modules scsh-ldap[1] and the directory
scsh/scsh/odbc[2].  The LDAP bindings are almost complete and about
1200 LOC C-code and 1100 LOC Scheme-code (about 300 LOC automatically
generated).  The ODBC bindings consist of about 3000 LOC C-code
(partially tricky) and about 2000 LOC Scheme-code.

Currently, I'm busy cleaning up the ODBC bindings and changing them to
use the SRFI 34/35 exception system.  Building the c-stub as a shared
module that can be dlopen()'ed by scsh and Scheme48 is also on my
list.

I'm very confident that migrating those bindings to the SRFI-FFI is
not much work.  Checking whether the GC annotations are (still)
correct and a few search/replace-operations should be enough.

> I sampled some of the C code in a version of SCSH that I have on hand
> (0.5.2 -- sorry, a download for a more recent version was taking _way_
> too long so I'll risk being embarassed that everything has changed
> since then).

Actually, that changed completely in the 0.6-series, it's almost
exactly the FFI Scheme48 is using.  That's why migration of the
existing bindings for scsh *0.6-series* and Scheme48 is easy.

-Eric

Footnotes:
[1]  <http://cvs.sourceforge.net/viewcvs.py/scsh/scsh-ldap/>
[2]  <http://cvs.sourceforge.net/viewcvs.py/scsh/scsh/scsh/odbc/>
--
"Excuse me --- Di Du Du Duuuuh Di Dii --- Huh Weeeheeee" (Albert King)