On 20.05.2010 19:42, Schwab,Wilhelm K wrote:
Sig,

Since you are focusing on the name of the selector, can I conclude that you are 
using the selector name to make the call?  I am not sure I like that (strongly 
suspect I do not).  Dolphin and FFI use a pragma(-ish??) syntax with the return 
type, function name and argument types explicitly listed.  I very much would 
like to see you handle the details of getting things on and off of the stack, 
but I would like to control the selector name and the types.

As an example, calling something

   waveletTransformForward:comma:comma:

is not nearly as helpful to me as

   waveletTransformForward:size:flag:

The selector can be even more informative than that, but hopefully it starts to 
make the case for the independent selector.

Bill
No, but he is automatically generating the interface from a spec file, thus some standard for how to convert it to a selector is needed.

If he's using the NB FFI convention we discussed some time ago, the only "magic" is that the arg names are used in the apiCall specification.
Example copy-pasted from the announcement of that functionality:

primGetModuleFileName: hModule with: lpFileName with: nSize
        <primitive: #primitiveNativeCall module: #NativeBoostPlugin>

        ^ NBFFICallout
                apiCall: #(
                        DWORD GetModuleFileName (
                                HMODULE hModule,
                                LPTSTR lpFilename,
                                DWORD nSize))
                module: #Kernel32
                options: #( - coerceNilToNull )

Cheers,
Henry



_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to