From: Roel Janssen <roel@gnu.org>
To: Matt Wette <matt.wette@gmail.com>
Cc: Guile User <guile-user@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: Re: ffi-help: status to 19 Aug 2017
Date: Thu, 09 Nov 2017 20:10:59 +0100 [thread overview]
Message-ID: <878tfffet8.fsf@gnu.org> (raw)
In-Reply-To: <25A19914-FADD-46DC-AEFA-F290210C33DF@gmail.com>
Matt Wette writes:
> Hi All,
>
> I am working on a ffi-helper: a program that will read in a C dot-h file and generate a Guile dot-scm file
> which defines a module to provide hooks into the associated C library. Goal is to release something in
> Oct 2017 but that date is likely to slip.
>
> Current shortcomings:
> 1) Guile does not currently handle some types (e..g, long long, uintptr_t).
> 2) Guile does not have support for varargs (e.g., printf(char *, ...) ).
> I may take a look at this. One idea I have is to use '... in the call interface spec
> and use (type . value) pairs in the calls.
> 3) The bytestructures module does not support function declarations.
> 4) ... (probably more)
>
> Someone asked to have libgit2 converted and this, and some others, turned out to give visibility
> to several limitations and bugs in my C parser. For one, how #include <foo/bar.h> is interpreted
> is not specified by the language: it is implementation defined, and I had to track down how libgit2
> was including files. I also had to add some GNUC extensions (e.g., asm, statement-block expressions,
> include_next) to the parser and preprocessor. As one can see from the file listing below, libgit2
> has a large number of files, and declarations.
>
> ...
Thanks for creating this! It seems to be very useful and powerful.
I wanted to try ffi-helper on htslib, but I am confused on how to get
started. Where does the "compile-ffi" subcommand for "guild" come from?
Kind regards,
Roel Janssen
next prev parent reply other threads:[~2017-11-09 19:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <D30BE676-0171-4E8F-8CD0-B40A74B08850@gmail.com>
2017-08-19 15:30 ` ffi-help: status to 19 Aug 2017 Matt Wette
2017-09-08 3:32 ` ffi-help: #:use-ffi-module Matt Wette
2017-09-08 3:40 ` Matt Wette
2017-11-09 19:10 ` Roel Janssen [this message]
2017-11-10 1:00 ` ffi-help: status to 19 Aug 2017 Matt Wette
2017-11-10 2:34 ` Matt Wette
2017-11-10 2:39 ` Matt Wette
2017-11-10 23:04 ` Stefan Israelsson Tampe
2017-11-11 4:38 ` Matt Wette
2017-11-14 18:06 ` Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878tfffet8.fsf@gnu.org \
--to=roel@gnu.org \
--cc=guile-devel@gnu.org \
--cc=guile-user@gnu.org \
--cc=matt.wette@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).