On May 14, 2020, at 11:53, Ricky Teachey <ri...@teachey.org> wrote:
>
>> So that means a view() function (with maybe a different name) -- however,
>> that brings up the issue of where to put it. I'm not sure that it warrants
>> being in builtins, but where does it belong? Maybe the collections module?
>> And I really think the extra import would be a barrier.
>>
>
> It occurs to me-- and please quickly shut me down if this is a really dumb
> idea, I won't be offended-- `memoryview` is already a top-level built-in. I
> know it has a near completely different meaning with regards to bytes objects
> than we are talking about with a sequence view object. But could it do double
> duty as a creator of views for sequences, too?
But bytes and bytearray are Sequences, and maybe other things that support the
buffer protocol are too.
At first glance, it sounds terrible that the same function gives you a locking
buffer view for some sequences and an indirect regular sequence view for
others, and that there’s no way to get the latter for bytes even when you
explicitly want that. But maybe in practice it wouldn’t be nearly as bad as it
sounds? I don’t know. It sounds terrible in theory that NumPy arrays are almost
but not quite Sequences, but in practice I rarely get confused by that. Maybe
the same would be true here?
There’s also the problem that “memoryview” is kind of a misleading name if you
apply it to, say, a range instead of a list. But again, I’m not sure how bad
that would be in practice.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/BMB5DAW67NRODTH46NXIZ55D4VDRBO2Y/
Code of Conduct: http://python.org/psf/codeofconduct/