Microsoft Patents 'IsNot'
Carlos Ribeiro
carribeiro at gmail.com
Sat Nov 20 18:00:39 EST 2004
More information about the Python-list mailing list
Sat Nov 20 18:00:39 EST 2004
- Previous message (by thread): Microsoft Patents 'IsNot'
- Next message (by thread): Microsoft Patents 'IsNot'
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, 20 Nov 2004 23:38:56 +0100, Martin v. Löwis <martin at v.loewis.de> wrote: > Terry Reedy wrote: > > But, for whatever it is worth, the ref manual *does* label 'is not' as *an* > > operator. In this context, 'is not' is a compound (key)word with a space > > (rather than a hyphen or neither). Since English compounds can often be > > written both with and without a space or hyphen, with the choice being a > > matter of taste, the difference between 'IsNot' and 'Is Not' is rather > > trivial > > To a reader, but not in an implementation. I believe that Microsoft > would have allowed "foo is not Nothing" if they knew how to implement > it. In the compiler, input is split into tokens, and you can not only > have space between them, but sometimes also line breaks and comments. > It appears that the VB parser, when receiving the IsNot token, > immediately checks whether the thing it got before is an expression. > If this would have to take "is not" into account as well, it might > become more complicated. > > > And 'is_not' is the CS alternate spelling of 'is not' with ' ' changed to > > '_' (instead of '-') to indicate that the space is connective, forming a > > compound word. > > And I firmly believe that Microsoft has only "connected" spellings in > mind, in this patent application. The option of unconnected spelling > (i.e. in multiple tokens) did not occur to them, or else they would > have given that in the examples. > > > In names, Python also requires, for obvious lexical > > reasons, connective spaces ('_'s). Recognizing 'is not' as a unit requires > > a special rule; 'is_not' might have been more consistent with the rest of > > Python, but Guido was and is a keywords minimizer. Without knowing this > > rule, one could easily parse 'a is not b' as 'a is (not b)' like Basic > > does. > > See, in Python, there is *no* special rule for 'is' 'not'. It just falls > out naturally - the expression after 'is' just can't start with a 'not', > since only tests can start with 'not'; expressions are a special case of > test that can only start with '(', '+', '-', '~', '[', '{', '`', a name, > a number, or a string. 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? The reason I ask this is twofold: 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. 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. -- Carlos Ribeiro Consultoria em Projetos blog: http://rascunhosrotos.blogspot.com blog: http://pythonnotes.blogspot.com mail: carribeiro at gmail.com mail: carribeiro at yahoo.com
- Previous message (by thread): Microsoft Patents 'IsNot'
- Next message (by thread): Microsoft Patents 'IsNot'
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list