Newbie questions about Pliant

Newbie questions about Pliant

Implemeting C function in Pliant

I need to explicitelly call a Pliant function by name from C
Message posted by maybe Boris Reitman on 2004/01/12 02:08:52
I would like to be able to do something like this,

C code
-------
extern hello(int);

void main(){
  hello(10);
}

Pliant code
-----------
function hello n
  arg Int n
  console "Hello " n eol

This is why I would need something like this.  I would like to wrap
the wxWindows C++ library so that it would be possible to write
GUI applications. This library uses the template method design pattern
where you are supposed to inherit from a base class and override
some methods.  I would like to have the override code to be in pliant.
Example,

class MyApp : public wxApp 
{
  public:
    virtual bool OnInit() { 
       pliant_impl_oninit();  // implemented in pliant...
    }
}

Thanks,
Boris
  

Message posted by hubert.tonneau on 2004/01/12 11:13:09
The answer is simple: C++ is not a language that will peacefully work with
other languages, so if a library requires C++ capabilities (as opposed to C)
to interface, then it will not be easy to use it from Pliant, neither from
any other language.

Basically, the way to encode a class is not defined by C++, so each compiler
does exactly what it wants, and it can even change from one major release
to another for the same compiler.