Hi,
 
This line:
 
    print_int fac(6);;
 
Can be read as:
 
    print_int fac 6;;
 
That is 2 arguments whereas print_int expects exactly 1 argument.
 
The corrected line is:
 
    print_int (fac 6);;
 
Note that function application is just juxtaposition, parenthesis are unneded.
 
Regards,
 
- damien
 
 

 
hi
I try to make my first steps with Ocaml and I have some difficulties.
I know there is a second list for "Ocaml Beginners" but its running on
Yahoo and the membership confirmation takes a while ...
 
So let me ask you, what is wrong with this code
 
let rec fac n = if n >  1 then n * fac (n-1) else 1 ;;
print_int fac(6);;
 
No matter if I compile this with ocamlc or run the commands with
ocaml, I always get the error:
/////////////////////////////////////////////////////////////////
File "ifelse.ml", line 2, characters 0-9:
This function is applied to too many arguments,
maybe you forgot a `;'
///////////////////////////////////////////////////////////////////
 
What is the problem here? Adding an additional ; doesn't help of course.
 
thanks
ben
 
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs