Giovanni Bajo wrote: > tomer filiba <[EMAIL PROTECTED]> wrote: > > >>the point is -- ctypes can define C types. not the TCP/IP stack. >>Construct can do both. it's a superset of ctype's typing mechanism. >>but of course both have the right to *coexist* -- >>ctypes is oriented at interop with dlls, and provides the mechanisms >>needed for that. >>Construst is about data structures of all sorts and kinds. >> >>ctypes is a very helpful library as a builtin, and so is Construct. >>the two don't compete on a spot in the stdlib. > > > > I don't agree. Both ctypes and construct provide a way to describe a > binary-packed structure in Python terms: and this is an overload of > functionality. When I first saw Construct, the thing that crossed my head was: > "hey, yet another syntax to describe a binary-packed structure in Python". > ctypes uses its description to interoperate with native libraries, while > Construct uses its to interoperate with binary protocols. I didn't see a good > reason why you shouldn't extend ctypes so to provide features that it is > currently missing. It looks like it could be easily extended to do so. >
For what it's worth, NumPy also defines a data-type object which it uses to describe the fundamental data-type of an array. In the context of this thread it is also yet another way to describe a binary-packed structure in Python. This data-type object is a builtin object which provides information such as byte-order, element size, "kind" as well as the notion of fields so that nested structures can be easily defined. Soon (over the next six months) a basic array object (a super class of NumPy) will be proposed for inclusion in Python. When that happens some kind of data-type object (a super class of the NumPy dtype object) will be needed as well. I think some cross-talk between all of us different users of the notion of what we in the NumPy community call a data-type might be useful. -Travis Oliphant _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com