[swift-evolution] Proposal: An Either Type in the STL

Jacob Bandes-Storch jtbandes at gmail.com
Wed Dec 9 17:35:12 CST 2015


The idea of using Left/Right is to remain agnostic to what sorts of things
users might want to put in. It's feasible a user might want Either<Int,
String>, not just Either<ErrorType, T>.

While I'm not sure Left & Right are the best choices, I don't think it's
particularly worrisome when it comes to errors, as the general type-safety
of the language will prevent users from mixing up success & error cases.

Jacob

On Wed, Dec 9, 2015 at 3:32 PM, Ilias Karim via swift-evolution <
swift-evolution at swift.org> wrote:

> Hi Robert,
>
> I agree with your recommendation of a generic Either type.
>
> However, I find your use of “Right” as the “Correct” value (whatever that
> means) of an instance of an Either type a little perplexing. While clever,
> it is exactly the kind of convention that easily leads to misunderstandings
> about the nature of the type itself ie. is it right and left or wrong and
> correct? At least that is my first impression after scanning your code.
>
> Ilias
>
> > On Dec 9, 2015, at 3:06 PM, Developer via swift-evolution <
> swift-evolution at swift.org> wrote:
> >
> > It’s high time the STL admitted some kind of disjoint union type, at the
> very least because it’s such a minor addition it seems a shame to leave it
> out.  Whatever feelings one may have about `throws`, the lack of
> standardizing on a datatype representing choice has caused the community to
> get creative and create many disjoint implementation of the same concept
> over and over and over again.  To that end, I propose the STL ship with an
> Either type; We at TypeLift have already got our own we’d like to model it
> on (https://github.com/typelift/Swiftx/blob/master/Swiftx/Either.swift#L16
> ).
> >
> >
> > ~Robert Widmann (CodaFi)
> > _______________________________________________
> > swift-evolution mailing list
> > swift-evolution at swift.org
> > https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151209/e7700c3a/attachment.html>


More information about the swift-evolution mailing list