Where Do Proposals For Improvements to Apple Swift API wrappers go?

Hey Swifters! I am looking for some feedback on the proper place to put this:

I made a thing to use KeyPaths to try and make creating predicates at least less Stringly-typed. I realize this has been proposed, in various fashions before:

The key difference (as I see it) with what I've tried to pull together here is that I'm not trying to do operator overloading or create an additional Predicate layer for Swift on top of NSPredicate that could then be supported cross-platform - just make it easier to use NSPredicate in a way that is a) Type-safe and b) Avoids having to hard-code strings.

My bottom-line question: What is the best way to suggest Swift API improvements with possible sample code for Apple-owned APIs? Is it:

a) Radar :closed_lock_with_key:
b) Swift Bugs :bug:
c) Swift Evolution :monkey_face:

I think not c) since it's not purely Swift related (but change my mind if you disagree), but it'd be something I'd love to see be made easier across the board. It's a specifically Swift-related enhancement request rather than anything that has to do with the underlying API itself, so I'm not sure whether a) or b) makes more sense.

Any thoughts would be most appreciated. Thanks!

1 Like

I think the only correct place for suggestions for Apple owned things, including the various wrappers around Apple APIs, is through filing a radar suggestion.

1 Like

Radar is by far the best option, because it will definitely be seen by the team(s) responsible for the overlays.

Sad trombone. I'll file something and cross-post to open radar and link back here later today.

It'd be nice if there was a way to allow community contributions on some of this stuff.

2 Likes

It's fairly difficult to do that effectively, because the broader community doesn't have much visibility into future plans for the frameworks and libraries that are being wrapped.

That said, you could develop and test small suggested changes against the open source tree and put them on GitHub and then reference them in radars. It's not perfect, and I would gently discourage doing lots of work on a branch like this, but for smaller improvements it's likely to work OK, at least with some components.

Thanks in advance for your radar.

2 Likes

Filed!

OpenRadar: rdar://46479060: Enhancement Request: NSPredicates with Swift KeyPaths
Radar: rdar://problem/46479060

2 Likes

Thanks for asking :)

As the others on this thread have noted, unfortunately working on Foundation means threading the needle of a number of requirements:

  • We absolutely want your feedback and your input. That can take the form of bug reports, but we want to hear you in whatever form helps you most.

  • The bar for Foundation API changes is pretty high. The history of the Foundation framework is measured in decades and we want new changes to stand the test of time on that magnitude.

  • We don't quite have an Evolution process for Foundation. Part of what we do requires an extensive internal review process, and part of it means fitting what we do with future plans. But we do want to make sure your input isn't lost.

To this end: if you have a proposal for a new API or feedback on an existing one, I encourage you to start a new topic in the Core Libraries category with the foundation-pitch tag — we will try and respond to discuss and refine your proposal, and figure out what the consensus is.

18 Likes

Thank you so much! Would be super-helpful.