Skip to main content

types with new or removed constraints/properties

Project description

Notes

Changelog

  • 2011-01-29 adrian ilarion ciobanu <cia@mud.ro>
    • initial release 0.1.1

    • pypi-related fixups

    • minor bugfixing, documentation updates, package restructuring 0.1.18

  • 2011-01-30 adrian ilarion ciobanu <cia@mud.ro>
    • improved weaktuple’s __iter__() method

    • 0.1.19 release

Description

subtypes are python types with new or removed constraints/properties.

currently, the package includes the following subtypes:

subtypes.weaktuple

the weaktuple is a tuple with weakened immutability.

the main difference between the two is that the weaktuple’s immutability is only concerned with the size and the underlying type of each component.

in other words, tuple’s immutability property can be viewed as a set of three constraints C = (tupleSize, tupleComponentValue, tupleComponentType) (the third may be somehow implicit). The weaktuple’s set of constraints has only two components: C = (tupleSize,tupleComponentType), equivalent to “tuple has a product type” if you like.

the values of weaktuple’s component can be updated as long as the component’s type and tuple’s size constraints are verified.

applicability: storing the arguments to a function as a tuple for a later function call: while computing a set of conditions, the arguments may be needing updates. It’s easier, clearer and hopefully faster to do an inplace tuple member update:

>>> from subtypes.weaktuple import weaktuple
>>> def f(p1,p2,p3):
...     print "called with:(%r,%r,%r)"%(p1,p2,p3)
...
>>> o=weaktuple([1,'abc',[(1,2),(1,3),(2,3)]])
>>> o
(1, 'abc', [(1, 2), (1, 3),(2, 3)])
>>> f(*o)
called with:(1,'abc',[(1, 2),(1, 3), (2, 3)])
>>> if issubclass(weaktuple,tuple): o[1]='cba'
>>> f(*o)
called with:(1,'cba',[(1,2), (1,3), (2,3)])
>>>

see weaktuple module documentation for additional information

coming up:
  • weakbool

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subtypes-0.1.19.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file subtypes-0.1.19.tar.gz.

File metadata

  • Download URL: subtypes-0.1.19.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for subtypes-0.1.19.tar.gz
Algorithm Hash digest
SHA256 aab2afbe7a53692d5b3e67836f621bb7a3a04d415fbafe6e0fc052782622efe7
MD5 a51835fe34aa4f038175ab54e6a7aa7b
BLAKE2b-256 906814102fa462c0f30c12e9be8e88c8ac4d35d8d4162fe570f141a4b0c37cb4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page