Arduino 1.0 beta print(uint8_t) vs print(int8_t) ??

I keep forgetting the "Arduino Language" is not C++.

Changing the behavior print(uint8_t) and not print(int8_t) seems strange but then much of the "Arduino Language" seems strange to me.

The standard for C++ says I/O operators treat char, signed char, and, unsigned char in the same way.

So these all put a single byte in the output stream.

  ostream& operator<< (ostream& out, char c );
  ostream& operator<< (ostream& out, signed char c );
  ostream& operator<< (ostream& out, unsigned char c );

The same holds for other character definitions. For example:

A character sequence is an array object (8.3.4) A that can be declared as T A[N ], where T is any of the types char, unsigned char, or signed char (3.9.1), optionally qualified by any combination of const or volatile.