[capi-sig] Python to Scheme type conversion in C?

Jason Baker amnorvend at gmail.com
Mon May 31 18:15:34 CEST 2010


I'm working on a Python-to-mzscheme binding using mzscheme's ffi
library (mzscheme's rough equivalent of the Python ctypes library).
I'm looking for a way to convert Python objects into Scheme values.
Essentially what I'm trying to do is say "Is this a Python  integer?
Ok, convert it to a Scheme integer."  or "Is this a Python string?
Ok, convert it into a Scheme string."  ... etc.

What is the best way to do this?  My first intuition was to call
Py*_Check to determine the type, but it turns out that's a macro that
can't be used in non-c code.  I'm sure I could translate that into the
appropriate C code, but that gives me a bad feeling.  Right now, I'm
looking for simple and easy more than efficient and complete (but I
would also like to know what the efficient and complete approach would
be).

Can anyone tell me what the best way to tackle this problem is?


More information about the capi-sig mailing list