Skip to content

Instantly share code, notes, and snippets.

@erica
Last active April 27, 2018 16:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erica/4ee7bd4979a54c5466e6 to your computer and use it in GitHub Desktop.
Save erica/4ee7bd4979a54c5466e6 to your computer and use it in GitHub Desktop.

Swift Stuff

Note: Anything with a gist URL may not reflect updated material available at github URLs.

See also: Accepted, Alive-ish, Dead, Intermediate products, or the Worthy Abandoned
See also: Buildage In progress: Updating Changelog

In Progress

Vested Interest

  • Dave's setprotocol
  • Making endian a conditional compilation thing?
  • Steven Celis' automatically derive properties for enum cases

Sort of Dead

  • John H's Raw Mode string literals (see forum thread)
  • Flexible access control scoping: proposal, branch
  • Rearchitecting if/guard case: branch
  • Platform configuration tests: branch
  • Checked array

Quick notes:

Death to enumerated, throwing subscripts, rehydrating labels for use at call sites and closures, extending swift literals, with/rebinding self, more platform config (https://gist.github.com/erica/c9c11b540a2439696b2f514c2ffc6298), extending range operators for lhs open/closed, macros, decimal numbers, self rebinding (evan m's proposal, which is merged), result type, version numbers for canImport, de-init stacks (like defer), prebuilt stderr/stdout, stored values in extensions, better pattern matching

Newish

  • guard let value = try throwingFunction() catch let error { print (error); return },
  • Promises, promises, Lenses,Method cascades

Phase II

Starter proposals here

Alive and Active

To do

  • SE-????: Promoting _isDebugAssertConfiguration, _isReleaseAssertConfiguration, and _isFastAssertConfiguration Pitched 5/29
  • Better optional comparison Old pitch
  • Simplifying if-case/guard-case, pitched 10/24

Watch this space / Out of Scope for Swift 3

Unlikely to go far

Thoughts

  • Switch expressions and if expressions vs statements.

Just for fun

Back burner and On My Radar

  • Len/loc operator?
  • That newtype thing that's been brought up a few times.
  • Possible to establish requirement external to protocol, e.g. this type can be initialized by Double?
  • SE-XXXX Range Operators, ditto
  • Expanding Cocoa and Cocoa Touch Defaults / Would have to go through as radar requests, not sure which ones mattter.
  • Brent's string format stuff
  • CoreError, NilError, DefaultError: github also, attempt?
  • import as to enable modules to import with different names (primarily to disambiguate conflicts and simplify access to multi-level
  • macros, Better option sets, Decimal numbers (Joe Groff/Ranier Brockerhoff)
  • Method Cascades and older submitted as bug report for now
  • The strong/weak dance: proposed by Evan M: optional binding to upgrade self
  • Enumerated members: PR
  • Result type
  • Lenses: see http://twitter.com/mbrandonw/status/739538002641358848
  • Version Numbers for canImport
  • Swift tuples for bytes of arb length/type for c interop with = 0x0
  • Graham Perks' de-init/defer: http://thread.gmane.org/gmane.comp.lang.swift.evolution/20019
  • Stderr, stdout prebuilt
  • Sequence with "until"/"while"
  • Failable literal initializers
  • Enums with stored properties (for it)
  • curried argument labels and SE-0111 - is there a future way forward
  • Joe Groff: array/dict (string) pattern matching
  • John McCall / Manual Memory Management in Swift
  • Newtype
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment