W3C home > Mailing lists > Public > public-qt-comments@w3.org > July 2005

[Bug 1621] New: no algebra of types

From: <bugzilla@wiggum.w3.org>
Date: Fri, 15 Jul 2005 01:13:03 +0000
To: public-qt-comments@w3.org
Cc:
Message-Id: <E1DtElD-0008JS-Ar@wiggum.w3.org>

http://www.w3.org/Bugs/Public/show_bug.cgi?id=1621

           Summary: no algebra of types
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Platform: PC
        OS/Version: Windows 2000
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Formal Semantics
        AssignedTo: simeon@us.ibm.com
        ReportedBy: fred.zemke@oracle.com
         QAContact: public-qt-comments@w3.org


.4.3 Content models
There are no inferences for the algebra of types.  For example,
you state that (Type | none) = Type, but I don't see any 
inferences to back this up.

Some other inferences to consider are:

|- (Type1 | Type2) = (Type2 | Type1)
|- (Type1 | Type1) = (Type1)
|- (Type1 | (Type2 | Type3)) = ((Type1 | Type2) | Type3)

Those are commutative, idempotent and associate rules, respectively.
The & operator is also commutative, idempotent and associative.

I believe that empty (and maybe none) is also an identity for &:

|- (Type & empty) = Type

Are there any rules relating | and &; relating | and , ;
relating , and & ?

Turning to quantifiers, I think we need the following inferences:

|- Type1** = Type1*
|- Type1?* = Type1*
|- Type1++ = Type1+
|- Type1?? = Type1?
etc.

Such rules might be placed in section 8.1, "Judgments for 
accessing types".
Received on Friday, 15 July 2005 01:13:05 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:45:25 UTC