From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Amirouche Boubekki Newsgroups: gmane.lisp.guile.user Subject: Re: how to use ffi-help Date: Sun, 30 Dec 2018 19:07:45 +0100 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1546193171 10266 195.159.176.226 (30 Dec 2018 18:06:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 30 Dec 2018 18:06:11 +0000 (UTC) User-Agent: Roundcube Webmail/1.1.2 Cc: guile-user@gnu.org, guile-user To: Matt Wette Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Dec 30 19:06:07 2018 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdfTT-0002ZA-7K for guile-user@m.gmane.org; Sun, 30 Dec 2018 19:06:07 +0100 Original-Received: from localhost ([127.0.0.1]:45780 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdfVa-0004M3-0M for guile-user@m.gmane.org; Sun, 30 Dec 2018 13:08:18 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:44010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdfVC-0004Jg-UC for guile-user@gnu.org; Sun, 30 Dec 2018 13:07:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gdfVC-0007lP-3j for guile-user@gnu.org; Sun, 30 Dec 2018 13:07:54 -0500 Original-Received: from relay1-d.mail.gandi.net ([217.70.183.193]:53411) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gdfV6-0007NK-8T; Sun, 30 Dec 2018 13:07:48 -0500 Original-Received: from webmail.gandi.net (webmail7.sd4.0x35.net [10.200.201.7]) (Authenticated sender: amirouche@hypermove.net) by relay1-d.mail.gandi.net (Postfix) with ESMTPA id AED71240003; Sun, 30 Dec 2018 18:07:45 +0000 (UTC) In-Reply-To: X-Sender: amirouche@hypermove.net X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.183.193 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15178 Archived-At: Le 2018-12-22 19:46, Matt Wette a écrit : > Hi All, > > I have created a helper for generating FFI code for Guile.   The > current > use case is to create file called a "ffi module" that specifies > includes > and libraries that will be used to create a loadable Guile module. In > the > process, the FFI Helper (FH) parses C code and, from that, generates > Guile > FFI code. Thanks a lot! I promised to test ffi helper but got side tracked. > See > > ffi-helper: https://www.nongnu.org/nyacc/ffi-help.html > > project: https://savannah.nongnu.org/projects/nyacc > > I think the package is at a very usable point right now, and > I am starting to converge on a 1.0 release. So now I am > soliciting inputs on other ways to use this package. Namely, > are convenience routines needed for some use cases? [...] > > Comments? > 1. Is it possible to have a program or subcommand of guild that does take a header file from stdin and prints the bindings to stdout. 2. What do you think of PSSI https://github.com/ktakashi/r6rs-pffi 3. is it possible to specify a 'renamer' procedure that takes as argument a symbol representing the kind of thing (enum, member, static variable, struct, typdef, function, constant macro...) and the original name of the original name of the thing. The goal here is to allow to have schemey variable names. 4. In the module definition, is it possible to add some code that will be appended to the generated file? 5. In the module definition, is it possible to declare the interface of the generated module? TIA -- Amirouche ~ amz3 ~ http://www.hyperdev.fr