From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id C12957F89E for ; Sat, 22 Mar 2014 21:40:25 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlENAMjzLVNKN1ZKnGdsb2JhbABZg0GCPoEgv2aBKw4BAQEBAQYNCQkUKIImAQEEI1YQCw4MAiYCAkcQBhuHcQQJq2SiHReBKY0eMweCbzWBFASZfIUDF48T X-IPAS-Result: AlENAMjzLVNKN1ZKnGdsb2JhbABZg0GCPoEgv2aBKw4BAQEBAQYNCQkUKIImAQEEI1YQCw4MAiYCAkcQBhuHcQQJq2SiHReBKY0eMweCbzWBFASZfIUDF48T X-IronPort-AV: E=Sophos;i="4.97,710,1389740400"; d="scan'208";a="53715765" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail3-smtp-sop.national.inria.fr with ESMTP; 22 Mar 2014 21:40:24 +0100 Received: from [172.20.10.2] (174-236.197-178.cust.bluewin.ch [178.197.236.174]) by smtp.webfaction.com (Postfix) with ESMTP id 9086159A417F; Sat, 22 Mar 2014 20:40:21 +0000 (UTC) Date: Sat, 22 Mar 2014 21:40:15 +0100 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: Misha Aizatulin Cc: caml-list@inria.fr Message-ID: <2E564C20A45F40FFA6BDB6946F088F03@erratique.ch> In-Reply-To: <532DEC4E.6040505@hot.ee> References: <532DEC4E.6040505@hot.ee> X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Re: [Caml-list] typechecking Le samedi, 22 mars 2014 =C3=A0 21:02, Misha Aizatulin a =C3=A9crit : > type t1 =3D T1 > type t2 =3D T2 >=20=20 > let f T2 =3D () >=20=20 > let input (c : in_channel) : t1 =3D > let t =3D input_value c in > f t; > t Unmarshaling is not type-safe, you always need to add a type annotation whe= n you input_value. See the warning in the documentation here [1]. Your prog= ram should read: type t1 =3D T1 type t2 =3D T2 let f T2 =3D () let input (c : in_channel) : t1 =3D let t =3D (input_value c : t1) in f t; t Which the compiler rejects.=20=20 Best, Daniel [1] http://caml.inria.fr/pub/docs/manual-ocaml-4.01/libref/Marshal.html