[m-dev.] foreign type syntax

Tyson Dowd trd at cs.mu.OZ.AU
Wed Oct 31 02:23:59 AEDT 2001


On 30-Oct-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 30-Oct-2001, Tyson Dowd <trd at cs.mu.OZ.AU> wrote:
> > On 30-Oct-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > However, this has no impact on semantics as far as the user is
> > concerned.
> 
> Not quite.  If the user does any foreign language interfacing
> directly with the generated target code that the Mercury compiler
> emits for Mercury procedures (rather than via the wrappers that
> it emits for procedures explicitly exported using `pragma export'),
> then the types used there will be visible to the user.
> 
> In the documentation that you posted on mercury-reviews,
> this was explicitly documented in the section explaining
> how `pragma export' works for the .NET back-end:
> 
> | Futhermore, any externally visible Mercury procedure will use
> | @var{DotNetForeignType} as the parameter type for parameters with
> | @var{MercuryTypeName}.
> 
> This requires the implementation to use the third option.

Well, it really depends how we define "externally visible" but I was
shooting for the 3rd option anyway for the .NET backend.

-- 
       Tyson Dowd           # 
                            #  Surreal humour isn't everyone's cup of fur.
     trd at cs.mu.oz.au        # 
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list