On Fri 23 Oct 2009, ik wrote: > The use of 'array[boolean]' does not mean that the array is true or > false, but rather '0..1'. You indicate a range, not a boolean > behavior.
Well, pascal is a typed language, so while I do realize that the information is stored as false=0 and true=1, and that's how the array is indexed internally when I make such a declaration, I expect a pascal compiler to treat the boolean type intelligently. (It usually does :) > "6 and 4" gives 4, and 4 is above the range of "1" (the highest cell > of the array you declared). If you would have cast it to boolean [...] I did cast it to boolean! That's why it smells like a bug. > > var > > b : boolean; > > > > begin > > b := boolean (6 and 4); > > writeln (t_or_f [b]); Cheers, ~David. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal