[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2004-05-03 (18:42) |
From: | Matt Gushee <mgushee@h...> |
Subject: | Re: [Caml-list] OCaml error message |
On Mon, May 03, 2004 at 08:19:19PM +0200, Holger Schulz wrote: > I've following declarations > > ---cut--- > type rat = int * int;; > > exception Denominator_Zero;; > > let rec ggT : (int * int) -> int = fun (x,y) -> if y = 0 then x else ggT > (y, x mod y) > > let kgV : int * int -> int = fun (x,y) -> (x / ggT (x,y)) * y > > let kuerze : rat -> rat = function (m,n) -> if n = 0 then raise > Denominator_Zero > else let g=ggT (m,n) in (m div g,n div g) > ---cut--- > > Loading it with #use give the following error message, which I do not > understand. Could anyone help me? > This expression is not a function, it cannot be applied Sure. Syntactically speaking, the expression 'm div g' appears to be a call to function 'm' with arguments 'div' and 'g'. Of course, this doesn't work because 'm' is an integer. But actually I think your confusion is elsewhere. It looks like you were trying to use 'div' as a binary operator; as far as I know, there is no such operator. Try 'm / g' instead. By the way, when you get error messages like this, it is helpful to pay close attention to the *exact* position of the error--e.g., in this case, the message gave a range of characters pointing to 'm' (and maybe that character was underlined in the toplevel, too), so you know that the toplevel or compiler expected 'm' to be a function. -- Matt Gushee When a nation follows the Way, Englewood, Colorado, USA Horses bear manure through mgushee@havenrock.com its fields; http://www.havenrock.com/ When a nation ignores the Way, Horses bear soldiers through its streets. --Lao Tzu (Peter Merel, trans.) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners