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] |
Hi! I firmly believe that guile-ffi is the Right Thing as far as writing Guile wrappers for existing libraries. It's a PITA to have to muck with SCM and recompile every time I want a new function. I want to write C preprocessor module that can import macros constants and declarations from a .h file into the current module, something like: (define-module (gnu errno) :use-module (dlopen libc)) (cpp:include "<errno.h>") (define ENOSYS (cpp:get-macro "ENOSYS")) (and ENOSYS (export ENOSYS)) [...] Then, when taken in conjunction with libffi, we can write wrappers like: (define strerror-sym (dynamic-func dlopen-libc-handle "strerror")) (define-public strerror (if strerror-sym (ffi-create strerror-sym 'string 'int) (lambda (num) ;; Some other definition of strerror... (string-append "Unknown error code " (number->string num))))) Anyway, let me know what you think, and if you're interested in helping, -- Gordon Matzigkeit <gord@fig.org> //\ I'm a FIG (http://www.fig.org/) Lovers of freedom, unite! \// I use GNU (http://www.gnu.org/) Copyright (C) 1998 FIG.org; the creator offers you this gift and wants it to remain free. See http://www.fig.org/freedom.html for details. This work may be copied, modified and distributed under the GNU General Public License (GPL). See http://www.gnu.org/copyleft/gpl.html.