
On Fri, Oct 8, 2010 at 3:36 PM, Florian Weimer
* Vincent Hanquez:
Native means the implementation is in haskell, and the library is not using another implementation (in another language) to do the work: either through FFI as a binding, or as a wrapper to an external program.
I can see how this terminology makes sense, but it's the opposite of the usage in Java (where "native" == "unmanaged code called via JNI").
I guess it depends on the context. If the context is a C program then 'native' means the C code in the program and 'foreign' means other code like Haskell. If the context is a Haskell program then 'native' means the Haskell code and 'foreign' means other code like C. Most of the time we're programming in Haskell so I think our context is Haskell. Also note that the "_Foreign_ Function Interface" hasn't been named the "Haskell _Native_ Interface". Bas