From: Shark8 on
According to OpenGL's specification (page 14):
These examples show the ANSI C declarations for these commands. In
general,
a command declaration has the form1
rtype Namef1234gf b s i i64 f d ub us ui ui64gfvg ( [args ,] T
arg1 , : : : , T argN [, args] );
rtype is the return type of the function. The braces (fg) enclose a
series of type
descriptors (see table 2.1), of which one is selected.  indicates no
type descriptor.
The arguments enclosed in brackets ([args ,] and [, args]) may or may
not be
present. The N arguments arg1 through argN have type T, which
corresponds to
one of the type descriptors indicated in table 2.1 (if there are no
letters, then the
argumentsÂ’ type is given explicitly). If the final character is not v,
then N is given
by the digit 1, 2, 3, or 4 (if there is no digit, then the number of
arguments is fixed).
If the final character is v, then only arg1 is present and it is an
array of N values of
the indicated type.
For example,
void Uniformf1234gfifg( int location, T value );
indicates the eight declarations

The footnote reads:
"1The declarations shown in this document apply to ANSI C. Languages
such as C++ and Ada
that allow passing of argument type information admit simpler
declarations and fewer entry points."

Therefore, the very spec that you are claiming to advocate says that I
*CAN* use Ada and "simpler declarations and fewer entry points."
If you're going to "language-lawyer" at least read the rules/specs
that your opponent is citing, otherwise you come off as a jerk who is
too [intellectually] lazy to actually consider the problems/statements
at hand.