> On 16 Aug 2016, at 01:14, David Sweeris via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> On Aug 15, 2016, at 13:55, Michael Ilseman via swift-evolution 
>> <swift-evolution@swift.org> wrote:
> 
>> 
>> It seems like there’s a potential for confusion here, in that people may see 
>> “UInt8” and assume there is some kind of typed-ness, even though the whole 
>> point is that this is untyped. Adjusting the header comments slightly might 
>> help:
>> 
>> 
>> /// A non-owning view of raw memory as a collection of bytes.
>> ///
>> /// Reads and writes on memory via `UnsafeBytes` are untyped operations that
>> /// do no require binding the memory to a type. These operations are 
>> expressed 
>> /// in terms of `UInt8`, though the underlying memory is untyped.
>> 
>> …
>> 
>> You could go even further towards hinting this fact with a `typealias Byte = 
>> UInt8`, and use Byte throughout. But, I don’t know if that’s getting too 
>> excessive.
> 
> I don't think that's too excessive at all. I might even go further and say 
> that we should call it "Untyped" instead of "Byte", to really drive home the 
> point (many people see "byte" and think "8-bit int", which is merely a side 
> effect of CPUs generally not having support for types *other* than ints and 
> floats, rather than a reflection of the true "type" of the data).
> 
> - Dave Sweeris
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
‘Byte’ is sufficient, I think.

In some sense, it is typed as bytes. It reflects the fact that anything that is 
representable to the computer must be expressible as a sequence of bits (the 
same way we have string de/serialisation — which of course is not to say that 
the byte representation is good for serialisation purposes). “withUnsafeBytes” 
can be seen as doing a reversible type conversion the same way 
LosslessStringConvertible does; only in this case the conversion is free.

Karl
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to