C++ Language Interface Foundation (CLIF)
github.com
C++ Language Interface Foundation (CLIF)
1–10 of 72 posts
Re: C++ Language Interface Foundation (CLIF)
#2Re: C++ Language Interface Foundation (CLIF)
#3Not to say SWIG isn't an amazing effort, but it's a whole C++ compiler maintained by a very small team.
+ I already put my time in at the gcc salt mines so no, I didn't try doing this myself.
Re: C++ Language Interface Foundation (CLIF)
#4Re: C++ Language Interface Foundation (CLIF)
#5A good README should give a "high level" description of what the things is and what its used for.
Re: C++ Language Interface Foundation (CLIF)
#6While I think wrapper generators are a noble idea, I doubt I would choose this over the convenience of IDL-like metaprogramming approaches (e.g. pybind11, or Boost.Python)
Re: C++ Language Interface Foundation (CLIF)
#7The repository mentions "other languages" but I could only find Python examples? While I think wrapper generators are a noble idea, I doubt I would choose this over the convenience of IDL-like metaprogramming approaches (e.g. pybind11, or Boost.Python)
Re: C++ Language Interface Foundation (CLIF)
#8The second is that many semantics just don't map very easily. I imagine the latter problem has only gotten worse with heavier use of templated types in APIs. It looks like CLIF doesn't expose the template per se (at least in the Python examples) but requires explicit instantiation of each specialization as a distinct Python class. Templates mess with the very concept of an FFI generator, which tends to assume a reasonably clear separation between compile time and run time (so you don't need to run a C++ compiler as a pre-pass on any code that uses a binding).
All that is a roundabout way of saying: for god's sake write your system APIs in C.
Re: C++ Language Interface Foundation (CLIF)
#9Finally! I have been suffering under SWIG and have been hoping for some time that someone would get the compiler to do this.+ Not to say SWIG isn't an amazing effort, but it's a whole C++ compiler maintained by a very small team. + I already put my time in at the gcc salt mines so no, I didn't try doing this myself.
SWIG should be called WIG. And anyway, I can't see it surviving modern C++.
As long as I'm ranting, what is modern C++ but a bunch of new languages that are incompatible with C++, each other, and everything else? Forgive me if I'm wrong but this seems like a terrible idea.
Re: C++ Language Interface Foundation (CLIF)
#10The repository mentions "other languages" but I could only find Python examples? While I think wrapper generators are a noble idea, I doubt I would choose this over the convenience of IDL-like metaprogramming approaches (e.g. pybind11, or Boost.Python)
Doesn't the IDL approach require that the declarations/intermediate language be written manually though? Most C++ libraries out there don't have any IDL files ( looks at QT )
I think the author of Swig shares this sentiment: (http://code.activestate.com/lists/python-dev/109281/).