Apparently this is "fixed" in 11g, but the question is - why wasn't it supported in the very first place ?
SQL> create or replace
2 function f( x number) return number is
3 begin
4 return 1;
5 end;
6 /
Function created.
SQL> select f(1) from dual;
F(1)
----------
1
SQL> select f(x=>1) from dual;
select f(x=>1) from dual
*
ERROR at line 1:
ORA-00907: missing right parenthesis