From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.7 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 5F26BBC68 for ; Fri, 29 Sep 2006 10:27:04 +0200 (CEST) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.229]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id k8T8R3EI002961 for ; Fri, 29 Sep 2006 10:27:04 +0200 Received: by wx-out-0506.google.com with SMTP id s6so956784wxc for ; Fri, 29 Sep 2006 01:27:01 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=K/JwbQoERdeUx8RGuJTBezjb06gHNEW7StKgOnPY/goj5t0lkZQ2Z7BLLoC6I6fC4lfSomPwDftMWikwPdHB8YUeY0Y1ehY00UWnhiw8t9vKB6SS60+rKuoagJTptmIZqamjNIy5AwnztGRL0nBvgByqSv5qPij3+AnLpdH5ljk= Received: by 10.70.109.6 with SMTP id h6mr2040919wxc; Fri, 29 Sep 2006 01:27:01 -0700 (PDT) Received: by 10.70.122.8 with HTTP; Fri, 29 Sep 2006 01:27:01 -0700 (PDT) Message-ID: Date: Fri, 29 Sep 2006 20:27:01 +1200 From: "Jonathan Roewen" To: colonna@ccr.jussieu.fr Subject: Re: [Caml-list] no error with ocamlc, a syntax error with ocaml Cc: caml-list@yquem.inria.fr In-Reply-To: <451CD121.3070502@ccr.jussieu.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <451CD121.3070502@ccr.jussieu.fr> X-j-chkmail-Score: MSGID : 451CD8D7.001 on discorde : j-chkmail score : X : 0/20 1 X-Miltered: at discorde with ID 451CD8D7.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocamlc:01 syntax:01 ocaml:01 ocaml:01 bug:01 compilation:01 ocamlc:01 syntax:01 val:01 val:01 beginner's:01 bug:01 beginners:01 wrote:01 caml-list:01 Why aren't you doing: ocaml tuvuw_from_data_error.ml? You don't need to redirect input. Whether this is a bug or just an unsupported use case is another question. Jonathan On 9/29/06, Francois Colonna wrote: > Hello, > > the small ocaml program attached gives no errors at compilation > > ocamlc -c tuvuw_from_data_error.ml > > and this syntax error at execution: > > ocaml < tuvuw_from_data_error.ml > Objective Caml version 3.09.2 > > # * * val s_d1 : string =3D "1" > # val s_d2 : string =3D "2" > # val s_d3 : string =3D "3" > # val s_d4 : string =3D "4" > # val s_d5 : string =3D "5" > # val d1 : int =3D 1 > # val d2 : int =3D 2 > # val d3 : int =3D 3 > # val d4 : int =3D 4 > # val d5 : int =3D 5 > print_string (" w d5 =3D ") ;t =3D > print_int (w_from_data ( d5 ) ) ;> > print_newline () ;t -> int =3D > val t : int * int -> int =3D > print_string (" v d3 d4 d5 =3D ") ;ta : int -> int =3D > print_int (v_from_data ( d3, d4, d5 ) ) ;=3D > print_newline () ;_data : int * int * int -> int =3D > val t_from_data : int * int * int * int * int -> int =3D > print_string (" u d1 d2 =3D ") ; for data : d1 =3D 1 d2 =3D 2 d3 = =3D 3 > d4 =3D 4 d5 =3D 5 > print_int (u_from_data ( d1, d2 ) ) ; > print_newline () ;3 d4 d5 =3D 22 > unit =3D () > # > Syntax error > # > > > > By the way, why is the output mixed up ? > > Thanks > Fran=E7ois Colonna > > > (** > * trying to implement cascade > *) > > > let s_d1 =3D "1" ;; > let s_d2 =3D "2" ;; > let s_d3 =3D "3" ;; > let s_d4 =3D "4" ;; > let s_d5 =3D "5" ;; > > > let d1 =3D int_of_string (s_d1) ;; > let d2 =3D int_of_string (s_d2) ;; > let d3 =3D int_of_string (s_d3) ;; > let d4 =3D int_of_string (s_d4) ;; > let d5 =3D int_of_string (s_d5) ;; > > (** > * define functions as function of their sons > *) > > let w (a_a) =3D a_a + 3 ;; > > let u (a_a, b_a) =3D a_a + b_a + 1;; > > let v (a_a, b_a) =3D a_a + b_a + 2 ;; > > let t (a_a, b_a) =3D a_a + b_a ;; > > > (** > * express each function as a function of its data > * using the functon of its sons > *) > > > let w_from_data ( a_a ) =3D > w ( a_a ) > ;; > > let u_from_data ( a_a, b_a ) =3D > u ( a_a, b_a ) > ;; > > let v_from_data ( a_a, b_a, c_a ) =3D > v ( u_from_data ( a_a, b_a), > w_from_data ( c_a) ) > ;; > > let t_from_data ( a_a, b_a, c_a, d_a, e_a ) =3D > t ( u_from_data (a_a, b_a), > v_from_data (c_a, d_a, e_a) ) > ;; > > (** > * execution > *) > > > print_string (" for data : ") ; > print_string (" d1 =3D ") ; > print_int d1 ; > print_string (" d2 =3D ") ; > print_int d2 ; > print_string (" d3 =3D ") ; > print_int d3 ; > print_string (" d4 =3D ") ; > print_int d4 ; > print_string (" d5 =3D ") ; > print_int d5 ; > print_newline () ; > ;; > > print_string (" t d1 d2 d3 d4 d5 =3D ") ; > print_int (t_from_data ( d1, d2, d3, d4, d5 ) ) ; > print_newline () ; > ;; > > print_string (" w d5 =3D ") ; > print_int (w_from_data ( d5 ) ) ; > print_newline () ; > > print_string (" v d3 d4 d5 =3D ") ; > print_int (v_from_data ( d3, d4, d5 ) ) ; > print_newline () ; > > print_string (" u d1 d2 =3D ") ; > print_int (u_from_data ( d1, d2 ) ) ; > print_newline () ; > > > > _______________________________________________ > 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 > > >