> I hope this is the right place to send this to, but here we go. For our
> project, we wanted support for some modern C++-features in the "bind" egg:
>
>  1. nested namespace definitions: instead of namespace A { namespace B {
>     ... } }, C++17 allows writing namespace A::B { ... }
>  2. typed and scoped enums: C++11 allows specifying the underlying type
>     of an enum: enum C: int16_t { ... }. It also added scoped enums,
>     that put all enumerators into a new scope: enum class D { E, F },
>     which then need to be referenced as D::E and D::F.
>
> Since bind is a thin layer over some basic C and C++ constructs and
> mostly ignores namespaces, I've extended it to accept nested namespace
> definitions and scoped and typed enums. The underlying type for the
> latter are simply ignored by bind as well.
>
> These changes would really help reusing declarations between C++ code
> called by CHICKEN and bindings automatically generated with the bind
> module and chicken-bind CLI tools.

Excellent! Many thanks for your contribution, I'll apply these
changes and update the documentation.

>
> Disclaimer: Even though I have almost 20 years of professional coding
> experience, I'm still pretty new to both Scheme and Lisp in general.
> Feedback of any kind is welcome!

The code is about as idiomatic as can get, no need to be modest
about it! :-)

Thanks again.


felix


Reply via email to