[EMAIL PROTECTED] wrote,

> This document looks like a very good starting point.
> 
>   * An omission: 'foreign label'.

Oops.

>   * Perhaps the 'specialid' production should contain all the calling
>     convention identifiers?

Yes, I had a weird idea here, but realise now that it
doesn't work anyway.

[EMAIL PROTECTED] (Marcin 'Qrczak' Kowalczyk) wrote,

> Your syntax puts modifiers between the calling convention and the
> external id. I agree that it's consistent. Currently ghc accepts
> unsafe only between the external id and the Haskell id, and dynamic
> only instead the external id.

Yes, the idea was that this has to be changed in GHC.

Sven Panne <[EMAIL PROTECTED]> wrote,

>  * Because of the reason stated above, I think static/dynamic  *must*
>    come first after import/export, but the order of unsafe/safe,
>    callconv, and extent should not matter. The var (*not* varid, it was
>    a design flaw IMHO)

I agree.

>  must be the last thing before the colon,
>    otherwise it tends to drown in the syntax. 

Yes.

>  * I don't understand the last part of section 3.2.1, mentioning the
>    loading of dynamically loaded libs. Is something like dlopen() meant
>    here or linking against a libfoo.so? And the details of how/when this
>    linking should be done are completely obscure to me.

This is just like the library object specification that we
have now also.

"Simon Peyton-Jones" <[EMAIL PROTECTED]> wrote,

> | >         language specific stuff inside the "..." string
> | >         language independent stuff outside
> | 
> | But static/dynamic probably means different things, depending 
> | on the callconv.
> 
> I think it's arguable that static/dynamic should be inside the ext_ent
> string.  Indeed, one might use static/dynamic for ccall, and
> virtual/non-virtual/static for Java, etc.  "Baking in" static/dynamic
> for all languages may be inappropriate.
> 
> Nevertheless, you propose keeping 'mode' outside the ext_ent string.
> Why?  (Apart from backward compat.)

Meanwhile, I think, you are right, we cannot make a clean
language-independent static/dynamic distinction.

> Also should 'label' be there?  Doesn't make sense for Java, does it?

Hmm, not really.  So, also into `extent'...

"Simon Marlow" <[EMAIL PROTECTED]> wrote,

> A totally minor point, but 'wincall' doesn't feel right.  This
> alternative calling convention has been around since long before windows
> (it's always been the default calling convention for Pascal, I think).
> 
> I'd stick with 'stdcall' because that's what everyone else seems to call
> it.  gcc has a 'stdcall' function attribute, BTW.

Ok - so who prefers `stdcall' and who something else.

BTW, I have only included C++ for the sake of completeness
into the calling conventions.  As nobody is actively working
on this - or is there? - I am quite happy to not define
anything about it, but the name of the calling convention.
Better no definition than an untested one.

Cheers,
Manuel

_______________________________________________
FFI mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/ffi

Reply via email to