No real agenda either way here, except to say that we almost have that in FFI. If you know enough to make the call, do you not know enough to write the FFI wrapper? Just asking. Having stirred the broth, I'll shut up and learn :)
________________________________________ From: [email protected] [[email protected]] On Behalf Of laurent laffont [[email protected]] Sent: Friday, May 06, 2011 1:47 PM To: [email protected] Subject: Re: [Pharo-project] Popularity of Smalltalk in Software Industry On Fri, May 6, 2011 at 7:25 PM, Igor Stasenko <[email protected]<mailto:[email protected]>> wrote: On 6 May 2011 18:45, laurent laffont <[email protected]<mailto:[email protected]>> wrote: > On Fri, May 6, 2011 at 4:01 PM, Igor Stasenko > <[email protected]<mailto:[email protected]>> wrote: >> >> Is it works because someone already provided a bindings for libraries >> you mention, >> or you did it by yourself? > > Have just used ctypes: >>>> import ctypes >>>> import ctypes.util >>>> ctypes.util.find_library("yaz") > '/usr/local/lib/libyaz.dylib' >>>> yaz = ctypes.cdll.LoadLibrary("libyaz.dylib") >>>> con = yaz.ZOOM_connection_new("z3950.loc.gov<http://z3950.loc.gov>", 7090); oh cool.. give me a 5 minutes to load external library, look up the random symbol exported by it and make a call to it with random number of arguments, and expect it won't crash. Works outta box! Cool. Now serious. How about spending time writing a bindings for that library? Where you have properly organized classes/interfaces, error handling and other stuff. No takers? Seriously, if you want such kind of shitty interface, which allows you to call arbitrary function with arbitrary arguments without any argument type checking, i can write it for you. Do it, please do it. Seriously. Thanks Laurent. > Laurent -- Best regards, Igor Stasenko AKA sig.
