On May 14, 2003 the three Microsoft employees Paul A. Vick jr. (technical lead for Visual Basic), Cosica Corneliu Barsan (member of the Visual Basic compiler team), and Amanda K. Silver (program manager on the Visual Basic compiler team) filed United States Patent Application #437822 with the title ``IS NOT OPERATOR''. The abstract of the IsNot patent application (as we will call it) reads as follows:
A system, method and computer-readable medium support the use of a single operator that allows a comparison of two variables to determine if the two variables point to the same location in memory.
The 8 page application consists of 24 claims followed by a description of the background of the invention, and detailed descriptions of illustrative embodiments. The first 5 claims of the application read as follows:
What is claimed:
1. 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.
2. The system of claim 1, wherein the compiler is a BASIC-derived programming language compiler.
3. The system of claim 1, wherein the operator is IsNot.
4. The system of claim 1, wherein the compiler comprises a scanner, a parser, an analyzer and an executable-generator.
5. The system of claim 4, wherein the source code comprises at least one statement, and the statement comprises a keyword representing the operator, the keyword recognized by the scanner.
The remaining 19 claims go into more details such as the parser determining that the operator is preceeded and followed by an operand, the fact that error messages are generated when the IsNot keyword or one of its operands are missing, the fact that executable code is generated, and so on and so forth.
The patent application describes that the invention can be used in exemplary computing environments ranging from PC, handhelds, servers, automatic teller machines, and more. The application also sketches in detail the hardware architecture of a typical PC using the invention. The application also explicitly states (in paragraph ) the following:
It will be recognized that although in the examples, the operator is designated as ``IsNoT'', the invention is not so limited. Any suitable case sensitive or case insensitive tag for the operator is contemplated by the invention, such as, but not limited to ``Is_Not'', ``isnot'', ``Isnot'', ``Is_Not'', ``is_not'' and so on.2