[m-dev.] pragma stub proposal

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Aug 13 14:38:04 AEST 2009

On Thu, 13 Aug 2009, Peter Wang wrote:

> On 2009-08-13, Ian MacLarty <maclarty at csse.unimelb.edu.au> wrote:
>> % Now define det_error, so we can throw an exception in the stub
>> without getting a warning:
>> :- pred det_error(string::in, io::di, io::uo) is det.
>> det_error(Msg, !IO) :-
>>     ( semidet_succeed ->
>>         error(Msg)
>>     ;
>>         true
>>     ).
>> % Now define the stub for non-Java grades:
>> jdbc_get_dbms_name(_, "", -1, "", !IO) :- det_error("non-Java grade", !IO).
>> I guess this isn't too bad really.
> The problem is that you must provide fake output arguments, sometimes
> which is not that easy (foreign types).

Most of the time when this occurs it's because you have a Mercury
definition of something that is also defined in one of the foreign
languages.  For those Mercury definitions the types involved are almost
always unit dummy types.

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