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