Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Facing syntax error.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-10-14 (23:38)
From: Matt Gushee <matt@g...>
Subject: Re: [Caml-list] Facing syntax error.
On Tue, Oct 14, 2003 at 06:49:11PM -0800, Bhavik Gandhi (hotmail) wrote:
> I am a novice to the OCAML language. I am trying to write a small
> program and I am facing with a syntax error, any help will be
> appreciated
> let rec undup lst = try match lst with
>   |[]->[]
>   |h::tail -> match tail with
>   |[]->[]
>   |h::xt -> if (h=List.hd xt) then h::undup xt
>   else raise(Failure "ERROR-Your list does not contain duplicates");;
> Error: line 6, characters 67-69
> Syntax error.

Right, because you have 'try' without 'with'. The syntax is

    <desired operations>
    <exception pattern> ->
      <exception handling code>
    | <exception pattern> -> (* 2nd & further patterns are optional *)
      <exception handling code>
You could make the above example work by adding a 'with' clause at the
end, e.g.

  with Failure ->
    print_endline "Exception handled.";
    []   (* exception handler must return same type as main operation *)

But that would actually be a little pointless in this case, since as far
as I can tell the only possible exception is the Failure raised by your
code. So without knowing your objectives in more detail, I would say the
most sensible approach would be to simply delete 'try' from this
function, and perhaps have a complete try-with block in some other
function that is calling this one.

Matt Gushee                 When a nation follows the Way,
Englewood, Colorado, USA    Horses bear manure through           its fields;   When a nation ignores the Way,
                            Horses bear soldiers through
                                its streets.
                            --Lao Tzu (Peter Merel, trans.)

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: