On May 5, 2014, at 3:03 PM, Petite Abeille <petite.abei...@gmail.com> wrote:

> 
> On May 5, 2014, at 9:15 PM, RSmith <rsm...@rsweb.co.za> wrote:
> 
>> Je suis desole mon ami…
> 
> Moi aussi :P
> 
> I have no quarrel with you, good Sir Knight, but I must cross this bridge:
> 
> select 1 where 1 is 1; 
> select 1 where 1 is not 1; 
> select 1 where 1 is ( 1 = 1 ); 

Cross what bridge?  

You seem to be trying to use common sense and semantic meaning to make an 
argument.  To quote an old CS prof, “If you argue in English**, you’re wrong.”  
Math and formal specifications are really the only thing here, and these do 
exactly what one would expect.

** or any other spoken language.

So far this whole discussion seems to boiled down to the fact that SQLite 
doesn’t have a native Boolean type.  That’s it.  No, it doesn’t.  Once we 
accept that, everything else makes perfect sense based off existing computer 
languages and historical ideas.  Can we all move on?


> select 1 in ( null ); — oh…
> select 1 in ( not null ); — really?

Since the rules of three-valued logic make it very clear that the value of the 
expression “not NULL” is “NULL”, where you really expecting something 
different?  What do you expect the opposite of NULL to be?

http://en.wikipedia.org/wiki/Three-valued_logic#Kleene_logic

Yes, three-valued logic is confusing to people that try to think of it in terms 
of “Boolean logic with special rules,” but it is all quite formal and clearly 
defined… it just isn’t Boolean logic.

  -j

--  
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Intelligence is like underwear: it is important that you have it, but showing 
it to the wrong people has the tendency to make them feel uncomfortable." -- 
Angela Johnson




_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to