At 10:45 AM 10/24/2006 -0700, Morgen Sagen wrote:

On Oct 11, 2006, at 4:37 PM, Phillip J. Eby wrote:

FYI, I just finished a rough implementation of the phase 1 EIM API
(primitive types, aliasing, and conversion).  It's not in SVN yet
(so as not to interfere with a4 work), but here is the current
doctest, warts and all.  (Most of the warts will be fixed when
phase 2 kicks in, adding "Record" and "field" types that will
produce better examples.)

Review and comments welcomed and requested.
[...]
Creating Subtypes
-----------------

Sometimes, it's useful to create a field type by copying an
existing type.  The ``sharing.subtype()`` function creates a new
type from an existing one.  The new type will be of the same
primitive type, and it will "inherit" any conversion functions
defined for the base type::

Hey Phillip, looks good.  Can you give an example of when we might
want to create a subtype?

The main reason would be when you want to create a type that is similar to an existing type, but differs in size, type URI, or how it handles type conversions. For example, if you had a Text type that was 50 bytes long, and wanted to make a new Text type that was 55 bytes that supported the same conversions, the idea is that you could do::

    newtype = subtype(oldtype, 'newuri', size=55)

And 'newtype' would now inherit any same type conversions registered for 'oldtype', but have a different type URI and size.



Thanks,
~morgen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to