[mercury-users] Working with exported types

Peter Wang wangp at students.csse.unimelb.edu.au
Thu Jul 27 16:21:08 AEST 2006


On 2006-07-27, Ralph Becket <rafe at csse.unimelb.edu.au> wrote:
> Julien Fischer, Thursday, 27 July 2006:
> > Another approach that I have thought about adding (because doing the above
> > in the OpenGL binding was fairly tedious), is to add a foreign_enum pragma
> > that would allow you to safely use the values of Mercury enums on the other
> > side of the foreign language interface, something like:
> > 
> > 	:- type foo
> > 		--->	foo
> > 		;	bar
> > 		;	baz
> > 
> > 	:- pragma foreign_enum("C", [
> > 		foo - "FOO",
> > 		bar - "BAR",
> > 		baz - "BAZ"]).
> > 
> > The compiler would then add the following to the modules .mh file:
> > 
> > 	#define FOO <representation of foo>
> > 	#define BAR <representation of bar>
> > 	#define BAZ (representation of baz>
> 
> This would be an excellent addition to the FLI.

Can we get something in the opposite direction as well?

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



More information about the users mailing list