[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: when GC is permitted
On Thu 15 Jan 2004 00:16, Tom Lord <lord@xxxxxxx> 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 and the directory
scsh/scsh/odbc. 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
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.
"Excuse me --- Di Du Du Duuuuh Di Dii --- Huh Weeeheeee" (Albert King)