> On 15 Oct 2015, at 15:50, Jimmie Houchin <[email protected]> wrote:
> 
> Yes, we need excellent FFI. I would love to see in Pharo FFI as easy as Julia 
> [1] or LuaJIT [2]. I am not qualified to do deliver such. And I do not know 
> how possible, how much effort or likely it is.

in pharo a FFI call is as easy as:

copy: source to: dest
        <primitive: #primitiveNativeCall module: #NativeBoostPlugin error: 
errorCode> 
         self nbCall: #( char * strcpy( char *dest, char *source ) ) module: 
‘libc’.

we can improve performance, but I do not think we will succeed on make it 
easier than that. 

of course, someone could do a symbol introspector (and I think someone already 
did something to interpret header files), to be able to have things like: 

LibC.strcpyWith: dest with: source

but I do not thing is a big win over the first one. 

Esteban


> 
> Sometimes connecting to an external library is a requirement. It would be 
> nice to be able to easily do so. I had problems with NB and it never happened.
> 
> But, on the other hand. I am a big believer and advocate of keeping as much 
> as possible in Pharo. Even if there are libraries available via FFI. Now I 
> know being practical and expedient sometimes using the libraries is necessary 
> at least initially. 
> 
> I would love as much as possible in Pharo, in our language. This makes it 
> available for us to improve, fix, and learn. It reduces the barrier for entry 
> for those who only know Pharo. We can't do any of those things if it is in a 
> foreign language in a foreign library. Reinventing the wheel so to speak is 
> not always evil. But we do have to know our resources, time, people, 
> community, skills. And as a Smalltalk or Smalltalk inspired tool. We need to 
> have a long view of the world. We already have a longer history than most 
> languages. We should likewise look forward to an even longer future. Always 
> keep the big picture in front of us to inspire through the tedious minutiae 
> that we may currently have to deal with.
> 
> And by the way. I would love having Random Forests and other scientific, 
> statistic tools in Pharo. I need to look at the SciSmalltalk stuff. 
> 
> Just a few thoughts.
> 
> Jimmie
> 
> [1] 
> http://docs.julialang.org/en/release-0.4/manual/calling-c-and-fortran-code 
> <http://docs.julialang.org/en/release-0.4/manual/calling-c-and-fortran-code>
> [2] http://luajit.org/ext_ffi_tutorial.html 
> <http://luajit.org/ext_ffi_tutorial.html>
> 
> 
> On 10/15/2015 07:51 AM, Esteban Lorenzano wrote:
>> I agree. 
>> My point was not a “let do all in pharo”, it was more against assumptions :)
>> 
>> Esteban
>> 
>>> On 15 Oct 2015, at 14:34,  
>>> <mailto:[email protected]>[email protected] 
>>> <mailto:[email protected]> <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> I would see the FFI integration being much more approachable.
>>> 
>>> In R, Python, Tcl, and now Java with JNA things are going nicely.
>>> 
>>> Why is it a pain on our platform and why insist on doing all in Pharo?
>>> 
>>> This is holding us back.
>>> 
>>> Pharo is super strong at some things.
>>> 
>>> We just do not need it to be redoing everything when good business is at 
>>> hand and industry standard libs available.
>>> 
>>> A reason why we try to use libgit2 I guess. Something external.
>>> 
>>> Phil
>>> 
>>> Le 15 oct. 2015 14:29, " 
>>> <mailto:[email protected]>[email protected] 
>>> <mailto:[email protected]>" <[email protected] 
>>> <mailto:[email protected]>> a écrit :
>>> I guess you aren't doing lots of random forests.
>>> 
>>> RFs training is the best way to turn my PC into a heater.
>>> 
>>> Phil
>>> 
>>> Phil
>>> 
>>> Le 15 oct. 2015 14:19, "Esteban Lorenzano" <[email protected] 
>>> <mailto:[email protected]>> a écrit :
>>> yeah but if this is a special case there is no problems on doing FFI 
>>> bindings and using an external library. 
>>> Precisely for that is FFI.
>>> 
>>> not that we have to integrate everything into the image :)
>>> 
>>> but… I would not be so fast in assume pharo performance will not be enough. 
>>> Unique form to know it is to do it and then see how you can optimise, if 
>>> needed :)
>>> 
>>> Esteban
>>> 
>>>> On 15 Oct 2015, at 09:51, stepharo <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> We do not want to be bound to install and maintain connection with fifteen 
>>>> different libs. 
>>>> 
>>>> Stef
>>>> 
>>>> Le 14/10/15 18:01,  
>>>> <mailto:[email protected]>[email protected] 
>>>> <mailto:[email protected]> a écrit :
>>>>> Not sure you would get enough performance on Pharo per se. Xe may be 
>>>>> better off leveraging a multicore enabled external lib. Like caret and 
>>>>> doMC on R.
>>>>> 
>>>>> Le 14 oct. 2015 17:49, "Serge Stinckwich" < 
>>>>> <mailto:[email protected]>[email protected] 
>>>>> <mailto:[email protected]>> a écrit :
>>>>> I don't think so.
>>>>> 
>>>>> I followup your message on SciSmalltalk mailing-list.
>>>>> This is something that might interested us ;-)
>>>>> 
>>>>> 
>>>>> 
>>>>> On Wed, Oct 14, 2015 at 4:54 PM, Damien Cassou < 
>>>>> <mailto:[email protected]>[email protected] 
>>>>> <mailto:[email protected]>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > did anyone implement a Random Forest algorithm in Pharo?
>>>>> >
>>>>> >      
>>>>> > <https://en.wikipedia.org/wiki/Random_forest>https://en.wikipedia.org/wiki/Random_forest
>>>>> >  <https://en.wikipedia.org/wiki/Random_forest>
>>>>> >
>>>>> > --
>>>>> > Damien Cassou
>>>>> >  
>>>>> > <http://damiencassou.seasidehosting.st/>http://damiencassou.seasidehosting.st
>>>>> >  <http://damiencassou.seasidehosting.st/>
>>>>> >
>>>>> > "Success is the ability to go from one failure to another without
>>>>> > losing enthusiasm." --Winston Churchill
>>>>> >
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Serge Stinckwich
>>>>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>>>>> Every DSL ends up being Smalltalk
>>>>> http://www.doesnotunderstand.org/ <http://www.doesnotunderstand.org/>
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to