Microsoft Patents 'IsNot'

"Martin v. Löwis" martin at v.loewis.de
Sat Nov 20 18:52:40 EST 2004


Carlos Ribeiro wrote:
> I'm curious. I know that Python is not going to enter into a
> 'patent-filling' frenzy anytime soon. But isn't the 'is not' trick
> also patentable on it's own?

If the Microsoft patent is granted, then Python's approach would
certainly patentable as well.

> 1) I always found the "is not" with two tokens a novelty -- I knew no
> other language before where this spelling was acceptable. But I am no
> "linguist" (in the CS sense), either.

It really is new in this context. However, there are many "similar"
notations.
- SQL is full of multiple-keyword constructs. E.g.

   constraint_declare :: = [ CONSTRAINT constraint_name ]
   PRIMARY KEY ( col1, col2, ... ) |
   FOREIGN KEY ( col1, col2, ... ) REFERENCES f_table [ ( col1, col2, 
... ) ]
              [ ON UPDATE triggered_action ] [ ON DELETE 
triggered_action ] |
   UNIQUE ( col1, col2, ... ) |
   CHECK ( expression )
   [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
   [ NOT DEFERRABLE | DEFERRABLE ]

    triggered_action :: =
   NO ACTION | SET NULL | SET DEFAULT | CASCADE

   So "ON DELETE SET NULL" are really two "things" only, not four things.

- in particular, for WHERE clauses, they have
   expression NOT BETWEEN expression AND expression
   expression NOT LIKE "string literal"
   expression IS NOT NULL (notice that IS NOT can only be combined with
   NULL here)
   expression NOT IN value

- likewise, COBOL has many compound keywords:
   ADD id-1 TO id-2 ON SIZE ERROR impstmt-1
   ADD id-1 TO id-2 NOT ON SIZE ERROR impstmt-2
   [notice how this features a four-word keyword]
   MERGE fname-1 ON ASCENDING KEY id-1 COLLATING SEQUENCE IS
         EBCDIC USING fname-2 GIVING fname-3
   [the only multi-work keyword here is "COLLATING SEQUENCE IS".
    "EBCDIC" is a parameter to that (with "ASCII" the other
    alternative); ON ... KEY can use either ASCENDING or
    DESCENDING]

- C has had "unsigned long" for quite some time, and now
   also has "unsigned long long".

> 2) Some people seem to think that the better way to defend Open Source
> applications against silly patents is to fill a lot of patents in
> behalf of open projects, as a defensive measure. I don't have any clue
> as to whether this would be effective in practice or not, but anyway,
> it seems interesting.

I think it would be a waste of resources. Defense is only needed when
there is an actual threat, at which point, if the patent is silly,
litigation can be started. This is something the PSF could do should
the need arise.

Regards,
Martin




More information about the Python-list mailing list