[mercury-users] foreign_type

Peter Ross pro at missioncriticalit.com
Mon Jun 3 23:13:22 AEST 2002

michael wrote:
> petdr wrote:
> > Instead you could write
> >
> > :- type constrained_foo(T) ---> constrained_foo(foo).
> Yes, but then the compiler thoughtfully passes everything as an
MR_Word it
> seems and I have to put back all the type casts that using foreign
> allowed me to remove.
You could write the code as follows, inlining would avoid any of the
overhead of doing it this way.

p(constrained_foo(Foo)) :-

:- pred p_2(foo) is semidet.

:- pragma foreign_proc(c, p_2(Foo::in), .....

mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list