On Sat, Jun 6, 2015 at 5:14 AM, Nick Wellnhofer <[email protected]> wrote:
> Lucifers,
>
> I started playing around with Rust and, naturally, I became interested in
> how Rust bindings for Clownfish could be implemented.

Rust is fascinating.  I wish I had time to learn it in depth right
now.  Since I don't know it cold, I can only offer abstract feedback.

When adding a Clownfish binding language, the goal is to make
Clownfish-powered libraries feel idiomatic.  We want to improve on
SWIG, not duplicate its deficiencies.

I feel like we've nailed it for Perl and will get it right for Python.
For C, we didn't quite nail it because we don't support the native
string type of nul-terminated char arrays.  For Go, we haven't quite
nailed it yet because the subtyping model, once it supports
overriding, will produce non-idiomatic behavior that Go programmers
will find surprising.

To what extent will this Rust proof-of-concept yield idiomatic Rust
APIs, with regards to the following concerns?

*   naming conventions
*   method signatures
*   object lifetimes
*   use of host types, such as host strings not Clownfish strings
*   package layout and distribution
*   subtyping behavior
*   versioning

Marvin Humphrey

Reply via email to