[swift-evolution] Auto-generate op==?

Donnacha Oisín Kidney oisin.kidney at gmail.com
Sat Feb 13 11:12:48 CST 2016


In Haskell, when you declare a datatype, you can follow it with a “deriving” clause, and it will derive several typeclasses (which are Haskell’s equivalent to protocols):

data Person = Person { name :: String, age :: Int } deriving Eq

In Swift, I’d imaging the equivalent would be something like:

struct Person {
  let name: String
  let age: Int
} deriving Equatable

> On 13 Feb 2016, at 17:04, Patrick Gili via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Not having a lot of experience with Haskell, can you provide an example, so that we can better understand what you're proposing?
> 
> Cheers,
> -Patrick
> 
>> On Feb 12, 2016, at 3:47 PM, Daniel Tartaglia via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> In Haskell, we can mark a data block as deriving from Eq and it will auto-generate the == operator.
>> 
>> I would like to see Swift auto-generate the == operator if a struct implements Equatable. Obviously, it would only be able to do this if all the structs members implemented Equatable themselves.
>> 
>> Has this idea already been proposed? I didn’t see it at the github repo…
>> 
>> Thanks,
>> 
>> _______________________________________________
>> 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/20160213/508b2cb6/attachment.html>


More information about the swift-evolution mailing list