... And 30 seconds later I realized that "PureReference" could be fulfilled by 
something with only static or computed properties. 

Sent from my iPhone

> On May 4, 2016, at 16:16, David Sweeris via swift-evolution 
> <[email protected]> wrote:
> 
> Having given it some more thought... Does "PureReference" make sense? What 
> would it mean? At some point a reference has to, you know, actually refer to 
> a concrete value. Otherwise it's just turtles all the way down.
> 
> Sent from my iPhone
> 
>> On May 4, 2016, at 13:32, Matthew Johnson <[email protected]> wrote:
>> 
>> 
>>> On May 4, 2016, at 1:21 PM, David Sweeris via swift-evolution 
>>> <[email protected]> wrote:
>>> 
>>> 
>>>> On May 4, 2016, at 11:12, Joe Groff via swift-evolution 
>>>> <[email protected]> wrote:
>>>> 
>>>> I can see value in there being some kind of PureValue protocol, for types 
>>>> that represent fully self-contained values, but conforming to that 
>>>> protocol requires a bit more thought than just being a struct or enum, 
>>>> since there are structs that have reference semantics (such as 
>>>> UnsafePointer), and there are hybrid value types that contain references 
>>>> to data that isn't part of the value (an Array<Class>, for instance).
>>>> 
>>>> -Joe
>>> 
>>> +1
>>> 
>>> I'd think that both "PureValue" and "PureReference" would be useful. Isn't 
>>> it the mixed types that make for tricky mutation rules & serialization?
>> 
>> I also like Joe’s idea.  It fits with the direction in Swift of attaching 
>> semantics, not just syntax, to protocols.
>> 
>> I was thinking of something pretty similar to your PureReference idea, but 
>> slightly different.  Pure / immutable references have value semantics.  With 
>> that in mind I was thinking of an ImmutableObject protocol which would 
>> inherit from both AnyObject and PureValue.
>> 
>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> [email protected]
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to