Tuesday, November 23, 2004

Patenting the "is not" operator

An article in eWeek criticized a Microsoft patent application which is entitled the --IS NOT OPERATOR-- [US appl no 20040230959, to Vick, Barsan and Silver; drafted by WOODCOCK WASHBURN LLP]. The first claim recites:

A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations.

Claim 15 recites:

A method for producing executable code for performing an object non-equivalence comparison comprising: receiving source code comprising at least one statement comprising a keyword representing a logical operator, a first operand preceding the keyword and a second operand following the keyword; and generating from the source code, executable code for evaluating the statement to true if the first operand and the second operand point to different locations in memory and to false if the first operand and the second operand point to the same locations in memory.

Claim 21 recites:

A computer-readable medium comprising computer-executable instructions for: receiving source code comprising at least one statement comprising a keyword representing a logical operator, and a first operand and a second operand; and generating from the source code, executable code for the at least one statement, the executable code evaluating to true when the first operand points to a first location in memory and the second operand points to a second location in memory that is different from the first location in memory, the at least one statement evaluating to false when the first operand and the second operand point to the same location in memory.

The patent application is directed in part to BASIC. BASIC, (Beginner's All Purpose Symbolic Instruction Code), was designed to be an easy-to-learn programming language that makes programming easier by providing an intuitive, English-like syntax in which to code. One of the ways in which BASIC eases programming tasks is by not requiring the use of pointer arithmetic. When a BASIC program is executing, a memory buffer 250 (typically a heap) is created in RAM (random access memory) to store application data. When a new object is created, space for the object is allocated on the heap.

Of the application, Peter Coffee wrote:

-->It sounded like the worst sort of sophomoric parody, worthy of the most rabidly anti-Microsoft blog, but it turned out to be the literal truth. A team of three inventors, two of whom are publicly identified as "members of the Visual Basic team," has applied (in a filing published late last week) for a U.S. patent on "A system for determining if two operands point to different locations in memory"—in short words, on the IsNot operator in "BASIC-derived" programming languages.


The fundamental idea, of course, is the same as that of the eq predicate in Lisp, which determines whether two symbolic expressions evaluate to the same actual object rather than merely to objects with identical values, or the similarly semanticized == operator in Prolog. Oh, excuse me, I guess the patentable novelty is in having a single inequality operator that is the logical complement of Lisp's eq or Prolog's ==. Prolog, though, already had \==—and for that matter, C already had the != operator whose allowable operands include pairs of pointers.


This seems like an obvious setup for a dumb joke with a nursery-rhyme punch line, perhaps "Peter promptly proffered pounds of programmers' prior practice," except that I'm not making up this stuff.


As often is the case with legal documents, what's perhaps most interesting is not the self-evident silliness of the top-line claims, but rather the invidious implications of the footnotes. Some developers, for example, might dismiss this episode as irrelevant to their interests due to the putative focus on "BASIC-derived languages." Perhaps their threat assessment will change when they realize that Paragraph 42 of the Description section of the patent application lists Borland's Pascal-based Delphi among the so-called "BASIC-like or BASIC-derivative" <--

Peter had a jump for the "visual Basic [VB] team." At the other end was the following:

VB Team in India

The VB Team is coming to India next week! Alan Griver (http://blogs.msdn.com/vsdata) and I will be visiting five cities for the final leg of the 2004 VB World Tour. It will be great to see India and meet up with VB developers over there.

We'll be in:

Bangalore: 11/30 and 12/1
Mumbai: 12/1 and 12/2
Chennai: 12/3 through 12/6
Hyderabad: 12/7 and 12/8
Delhi: 12/9 and 12/10









0 Comments:

Post a Comment

<< Home