[Cython] Cython array type: Summary, introducing CEP 518
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Fri Jun 19 12:28:01 CEST 2009
Stefan Behnel wrote:
> Robert Bradshaw wrote:
>> On Jun 19, 2009, at 12:28 AM, Stefan Behnel wrote:
>>> Robert Bradshaw wrote:
>>>> On Jun 18, 2009, at 9:36 PM, Stefan Behnel wrote:
>>>>> Having the same syntax
>>>>> for memory views and SIMD views sounds like an awful lot of things
>>>>> and a very unnecessary addition, since the same can be achieved
>>>>> using
>>>>> the normal type instantiation syntax and type specialisation on the
>>>>> SIMD/memory-view *type* (note the difference to using that syntax on
>>>>> just *any* type). The [] syntax makes a lot of sense for the new
>>>>> array type, it makes mostly sense for buffers, it was accepted
>>>>> (IIRC) for type specialisation. IMHO, that's a long enough distance
>>>>> that we go down that road. Going further would make the language
>>>>> less parseable to humans.
>>>> IIRC part of the motivation for int[:,:] syntax rather than
>>>> special_name[int, ndim=2] was that the former is actually easier for
>>>> humans to parse. Personally, it seems a natural extension of the int
>>>> [50] syntax.
>>> It behaves very different, though. For one, it's not a memory
>>> allocated data object but a *view* on such a thing, just like the
>>> typed memory view.
>>> What syntax would you propose for the memory view, and if none, why
>>> not?
>> The proposal is to give our memory view types SIMD semantics
>
> That's where we disagree. I think there should be three types with
> different behaviour: a dynamic array type that allocates memory and two
> different view types with different (arithmetic etc.) behavior. I defined
> all three of them in an earlier post.
Just for clarification (I looked up your earlier post but didn't find
it): Would the non-SIMD view type (your 2)) support more than one
dimension? How would +, +=, append semantics be defined if there's more
than one dimension?
--
Dag Sverre
More information about the Cython-dev
mailing list