> On Jan 24, 2017, at 12:15 PM, Freak Show via swift-evolution > <[email protected]> wrote: > > I do not see how you can consider standardizing ABI without first > standardizing the dynamic features and the desired programmatic interfaces to > them. > > We know that dynamic features need to come. They will impact everything. My > personal ideal is a language that smoothly transitions from fully dynamic to > fully static without a lot of fuss.
There will inevitably be features at some point that require added runtime support that won't backward-deploy to older runtime versions. However, a lot of the information you'd need for many dynamic features is already there, and planned to be stabilized as part of the ABI. We already emit reflection data that describes the physical layouts of types, and once those formats are stabilized, building a library that interprets the metadata is additive (and could conceivably be done by a third party independent of the standard library). There may not be metadata for individual methods yet, but there is tracking of protocol conformances, and once the standard library protocols are stabilized, someone could make assumptions about the protocol witness table layouts for those protocols to find particular method implementations even if you're running on an older standard library without the full method metadata we might support one day. -Joe _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
