On Wed, Sep 29, 2010 at 11:41 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 30 September 2010 06:20, Schwab,Wilhelm K <bschwab@anest.ufl.edu> wrote:
> One really crazy idea: inline C. �Is there any way that one could put C code into a method, have it compiled and captured somehow as part of the image? �Perhaps I am underestimating Cog and will soon not need to bother with stuff like this, but a recent addition was
>
> void LogOnePlus(double * data, unsigned long size)
> /*
> � � � �Add one and take log10() over the buffer; in-place transformation!
> */
> {
> � � � �for(unsigned long i=0; i<size; i++){
> � � � �data[i] = log10(data[i]+1);
> � � � �}
> }
>
> That's a simple calculation, but do it millions of times and it adds up. �Even if Cog is sufficiently far reaching to translate such things, there are still times when C/C++ does a far nicer job of translating formulas than does Smalltalk. �Like I said, it's a crazy idea, and if I have to choose, I'd rather have callbacks :)
>

Of course its possible.
After porting C parser/compiler into smalltalk :)
Or perhaps some meta-language which looks like C, but which easier to
translate to native code.

Indeed. �It might be less work to just make the Smalltalk run as fast as the equivalent C code (using a bit of dynamic, run time optimization).

- Stephen