ABI stability and reflection

Ive been reading that, with ABI stability, we should be able to do more with reflection. Is this true? If so, how? I am really interested in reflection on metatypes rather than having to instantiate a type just to examine its metatype data. I took a quick look through some of the source and found stuff relating to extracting generic parametrs and, more interesting to me, binding a generic type to its parameters.

Any feedback please?

Basically what ABI stability buys us here is that reflection API implementations can rely on the layout and contents of things like type metadata, so they won't keep breaking as things change. I'm not entirely sure offhand what things are in the set of "the information is there but the API to access it hasn't been written" currently, but I believe there's quite a bit.

Ah right. That's what I thought/feared. So, now, all I have to do is start rummaging in the source to create my own API :wink: :crazy_face:

1 Like

Would there be a reason to build a new API from scratch if there are already 3rd-party libraries for reflection with the new ABI like this one? GitHub - wickwirew/Runtime: A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.

Hmmm. Thank you for that. I shall investigate further.