Oh, yeah, sorry, didn't mean to get so far OT Sent from my iPhone
> On Oct 27, 2016, at 05:20, Jay Abbott <[email protected]> wrote: > > David, > > You make some good points in favour of explicit support for user-defined > ternary operators. You're right that it's a bit clunky without. Probably a > discussion for another thread though, and additive so not for phase 1. But > perhaps worth a proposal for phase 2? > >> On Thu, 27 Oct 2016 at 09:23 David Sweeris <[email protected]> wrote: >> >>> On Oct 26, 2016, at 21:29, Jay Abbott <[email protected]> wrote: >>> >>> David, you can use two binary operators (or overload the same one twice if >>> you want) to create syntax that behaves like a ternary operator. >>> >> >> Oh I know, it's just kinda clunky and inefficient sometimes, if you need to >> wrap a value in a struct or something simply to avoid ambiguity or enforce >> the correct syntax. It's not quite the same thing a ternary operator, but at >> one point I'd added `|` as both pre and postfix operators to allow code like >> "let y = |x|". The left `|` had to return a `_PartialAbsValueOp` and the >> right one had to take the same to invalidate the "let y = |x" or "let y = >> x|" syntax, one of which would've otherwise worked (depending on which op >> actually called "abs()"). >> >> I should've been clearer that I was talking about support for "free form" >> operators in general, including ternary ops, so that we don't have to fake >> them by declaring some # of traditional pre/in/postfix operators which all >> then have to work together (possibly exclusively, depending on the desired >> syntax), and might have to pass wrapper types around solely to help explain >> your syntax to the compiler. >> >> Thanks for pointing it out, though. That's an easy trick to forget about. >> >> - Dave Sweeris
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
