On Tue, Mar 6, 2012 at 6:43 PM, Bryan Van de Ven <bry...@continuum.io> wrote: > On 3/6/12 2:39 PM, Sturla Molden wrote: >> We can augment standard C with syntax suger for >> generics, or even NumPy arrays and Python types, using a Python script >> as meta-compiler. We don't need C++ for that. > I can only speak for myself. I do not want to be in the meta-compiler > business, and I do want proper tool support for templating. > > Moreover: > > **begin repeat > * > * #from = BOOL, BYTE, UBYTE, SHORT, USHORT, INT, UINT, LONG, ULONG, > * LONGLONG, ULONGLONG, HALF, FLOAT, DOUBLE, LONGDOUBLE, > * CFLOAT, CDOUBLE, CLONGDOUBLE, OBJECT, DATETIME, TIMEDELTA# > * #suff = bool, byte, ubyte, short, ushort, int, uint, long, ulong, > * longlong, ulonglong, half, float, double, longdouble, > * cfloat, cdouble, clongdouble, object, datetime, timedelta# > * #sort = 1*18, 0*3# > * #num = 1*15, 2*3, 1*3# > * #fromtyp = Bool, byte, ubyte, short, ushort, int, uint, long, ulong, > * longlong, ulonglong, npy_half, float, double, longdouble, > * float, double, longdouble, PyObject *, datetime, timedelta# > * #NAME = Bool, Byte, UByte, Short, UShort, Int, UInt, Long, ULong, > * LongLong, ULongLong, Half, Float, Double, LongDouble, > * CFloat, CDouble, CLongDouble, Object, Datetime, Timedelta# > * #kind = GENBOOL, SIGNED, UNSIGNED, SIGNED, UNSIGNED, SIGNED, > UNSIGNED, SIGNED, UNSIGNED, > * SIGNED, UNSIGNED, FLOATING, FLOATING, FLOATING, FLOATING, > * COMPLEX, COMPLEX, COMPLEX, OBJECT, DATETIME, TIMEDELTA# > * #endian = |*3, =*15, |, =*2# > * #isobject= 0*18,NPY_OBJECT_DTYPE_FLAGS,0*2# > */ > > is not exactly sweet-tasting sugar. It would make more sense for all the > various values to be bundled together by type, so that a type is > comprehensible as whole, quickly. Instead all the values are in > separated property lists that cut across all the types. Worse, very > similar or identical information to what is in this list is repeated, > without any chance of consistency or error checking, all over the place.
I don't think anyone likes it . All your points are certainly valid. There are solutions to this that does not require C++ (Chuck worked on that I believe, although I guess he knows would rather see C++ used). David _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion