[m-dev.] for discussion: proposed additions to FFI

Ralph Becket rafe at csse.unimelb.edu.au
Tue Jun 24 14:54:26 AEST 2008


Julien Fischer, Tuesday, 24 June 2008:
> 
> 
> 
> On Tue, 24 Jun 2008, Ralph Becket wrote:
> 
> >Julien Fischer, Monday, 23 June 2008:
> >>
> >>This proposal extends the FFI with three new pragmas that allow for the
> >>construction, deconstruction and testing of individual discriminated union
> >>data constructors in foreign language code.
> >
> >I think this is a reasonable idea, although I wonder whether in
> >practice you're almost always going to want all three operations
> >(cons/decons/test), which might mean having a single pragma to generate
> >all three would be better.
> 
> How about listing the desired operations in a single pragma, something
> like:
> 
> 	:- pragma foreign_export_du_op("C", maybe, yes,
> 		[test("TEST_yes"), cons("MAKE_yes"),
> 		decons("UNAKE_yes")]).

I'll raise you a level:

 	:- pragma foreign_export_du_op("C", maybe, 
		[yes - [test("TEST_yes"), cons("MAKE_yes"),
			decons("UNAKE_yes")],
		 no - [test("TEST_no")]]).

--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions:          mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the developers mailing list