Is there a reason the C++ <> syntax for templates was rejected?

Brian

On Thu, May 21, 2009 at 11:16 AM, Dag Sverre
Seljebotn<[email protected]> wrote:
> A decision is needed here within a few weeks; it would be great if any
> core developers who don't care could respond to vote 0.
>
> The decision was made to use [] for templates. To reiterate the main
> arguments:
>
>  - It leaves the way open for exporting pre-instantiated templates to
> Python in a /very/ natural fashion.
>
>  - Templates are a bit like a collection of types anyway.
>
>
> However this creates some syntax issues:
>
> A) Currently
>
>   cdef object[int] arr = ...
>
> can be used for PEP 3118 access on a generic object. While not a
> technical problem (object will never become a template), it looks a bit
> odd when introducing with a template feature.
>
> B) How would a templated buffer type look like? MyType[int][float]?
>
> Proposal:
>
> The object[int] syntax is removed (are anyone using it?). This is
> basically done by making any cdef class with the
> __cythonbufferdefaults__ magic attribute become a "buffer template".
> Such cdef classes cannot be templates. Any other class cannot be used as
> a buffer-supporting object.
>
> This removes functionality (much numeric code could care less about
> whether the underlying object is an ndarray). As a substitute, the main
> idea in http://wiki.cython.org/enhancements/buffersyntax is accepted,
> which is to use
>
> cdef int[:] arr = ...
>
> for generic access, without any object access (this means that for now
> only indexing and getting the shape is allowed at all.)
>
> I've been wondering a lot about whether this is the right way, and it
> still seems so, even if it means that there will be (and likely continue
> to be) two different ways of accessing a buffer; one through an explicit
> "buffer type" and one through an "automatic template".
>
> --
> Dag Sverre
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
>
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to