> 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