On Mon, Jun 29, 2015 at 5:05 PM, Henning Thielemann <lemming@henning-thielemann.de> wrote:
On Mon, 29 Jun 2015, Evan Laforge wrote:

I think it's actually kind of overloaded, because it has haskell-only
types like Char.

good point

Hm. If it does so in any way other than specifying how they marshal to C types, that sounds like a problem with the definition of Storable. (Flip side, that marshaling is kinda the point of an FFI.)
 
So I'm against tuples in Storable because tuples don't exist in C, so
you should really be using a record with a corresponding struct.

I have used them to call functions compiled by LLVM-JIT. LLVM supports tuple types. I guess that LLVM tuples are just structs without field names.

LLVM does target more than just C (and therefore more than just C types). I think my question here is "is there an agreed-on ABI for these types, beyond LLVM's own?"

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net