| ▲ | Mirror-bridge – Making Python bindings frictionless(chico.dev) | |||||||||||||
| 26 points by fthiesen 3 days ago | 9 comments | ||||||||||||||
| ▲ | kvemkon 3 days ago | parent | next [-] | |||||||||||||
> Before P2996, generating Python bindings required either: I'm missing nanobind here. > Method lookup. Python sees a.dot and searches for the dot attribute. It checks a.__dict__, > Each attribute access (self.x) involves:
Since C++ classes are fixed, I'd expect attributes to be declared once in python (slots).One thing yet important for cross-language projects: callbacks (events). Would be nice if the sample could be extended. | ||||||||||||||
| ||||||||||||||
| ▲ | dsp_person 3 days ago | parent | prev | next [-] | |||||||||||||
Cool to see C++ reflection getting somewhere. > The Docker image includes clang-p2996, Bloomberg’s experimental Clang fork that implements the reflection proposal. As P2996 moves toward standardization, expect this to land in mainline compilers. Possible to use that C++26 compiler just to do code generation for the binding code, and then use any other compiler for your actual build? I suppose alternatively could use a parser. Is the reflection code easy to work with in comparison? A year or two ago I spent some hours pulling my hair out trying to do some reflection in C++ until I gave up and spent the 20mins needed to write a python script to read my source files and do the code generation I needed. | ||||||||||||||
| ||||||||||||||
| ▲ | a_t48 3 days ago | parent | prev | next [-] | |||||||||||||
I feel a little bit nerd sniped - halfway through the article I wanted to cry out "but the loop!" and then they moved the loop. Nice job, I'm super excited to use this in my own code. I have a bunch of handwritten metadata about C++ classes that I'd rather ditch and use something that the language provides. | ||||||||||||||
| ||||||||||||||
| ▲ | just_mc 3 days ago | parent | prev [-] | |||||||||||||
This looks very exciting. I have a NodeJS binding I've been contemplating using SWIG. This appears to be much more straight forward. Looking forward to trying it out. | ||||||||||||||
| ||||||||||||||