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
