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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 6E6E77EC6E for ; Fri, 17 Jan 2014 03:12:59 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of nanaki@gmail.com) identity=pra; client-ip=209.85.128.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="nanaki@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of nanaki@gmail.com designates 209.85.128.171 as permitted sender) identity=mailfrom; client-ip=209.85.128.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="nanaki@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-ve0-f171.google.com) identity=helo; client-ip=209.85.128.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="postmaster@mail-ve0-f171.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkkEAJFf2FLRVYCrlGdsb2JhbABZg0NWqFqJYohVgQcIFg4BAQEBBwsLCRIqgiUBAQEDAScZAQgTHQEDAQsGBQQHOyIBEQEFARwGE4dvAQMJCA2dDoxcgwmSFAoZJw1khHIRAQUMjnMHhDgEiUeOWoExjnkYKYR6Gw X-IPAS-Result: AkkEAJFf2FLRVYCrlGdsb2JhbABZg0NWqFqJYohVgQcIFg4BAQEBBwsLCRIqgiUBAQEDAScZAQgTHQEDAQsGBQQHOyIBEQEFARwGE4dvAQMJCA2dDoxcgwmSFAoZJw1khHIRAQUMjnMHhDgEiUeOWoExjnkYKYR6Gw X-IronPort-AV: E=Sophos;i="4.95,670,1384297200"; d="scan'208";a="53621915" Received: from mail-ve0-f171.google.com ([209.85.128.171]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 17 Jan 2014 03:12:58 +0100 Received: by mail-ve0-f171.google.com with SMTP id c14so1364309vea.30 for ; Thu, 16 Jan 2014 18:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=r/AIrgzcF38dDVSmM3xvOBr6USkqDjZn38/KqTfhCVk=; b=tM9etYqi9NNNiR2SbeTzWhMa+hNQWywhQub4Yj4h/heO40yYwDz6rgkDUYiHxtaVhQ nqCVUMyI6KRX1FYUD5/yqLdPCY0OafAVbINh6CYkfLWL9MP0kIYbZDGS6rCPZtwYnGNW 4Qc2dBdfGDrzeZFCmyDm8tHsHVi8Cgd6G+nMo4izsDH23IHut/VKdhz6vYxXG/2BgYDi PIazIuaXIylnjf3Ph6T7WG8Yf6M+CkhIEkYsRHiRsLq5Yi+q59rBsl/Nw5mqhMvhwekp vS67A7YliyC9sH79/8TYkbjFTvbM4AeYgDeSZjBrq4Z4yrX5h4F4qRT5Qp8Dwqylx9Ue 81ag== MIME-Version: 1.0 X-Received: by 10.58.227.38 with SMTP id rx6mr8787353vec.10.1389924777500; Thu, 16 Jan 2014 18:12:57 -0800 (PST) Received: by 10.58.224.73 with HTTP; Thu, 16 Jan 2014 18:12:57 -0800 (PST) In-Reply-To: <2112632769.281907.1389913202532.open-xchange@communicator.strato.de> References: <2112632769.281907.1389913202532.open-xchange@communicator.strato.de> Date: Thu, 16 Jan 2014 18:12:57 -0800 Message-ID: From: Jeff Meister To: =?ISO-8859-1?Q?J=FCrgen_Pfitzenmaier?= Cc: Caml List Content-Type: multipart/alternative; boundary=047d7bd6b5b4a0a90204f0211407 Subject: Re: [Caml-list] ocaml considered dangerous --047d7bd6b5b4a0a90204f0211407 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I don't have time to evaluate and respond to all your points, but your first entry under "frightening discoveries" really jumped out at me. On line 499: try closed_type ty with Non_closed (ty0, real) -> The name "ty0" is a pattern capture variable, which the pattern matching construct binds to the first argument of the caught exn value with constructor Non_closed. It doesn't need a prior declaration... you are declaring it right there. Surely you were simply mistaken? I find it unbelievable that someone could write OCaml for years, even hacking on the compiler, without understanding basic pattern matching. On Thu, Jan 16, 2014 at 3:00 PM, J=FCrgen Pfitzenmaier < pfitzen@pfitzenmaier.de> wrote: > Dear Ocaml users, > I found some serious errors in the compiler e.g. in line 28 of typing/ > includecore.ml > and line 499 of typing/ctype.ml of version 3.12.1. > > A longer list of errors with explanations and possible fixes will be > under > www.pfitzenmaier.de/ocaml-considered-dangerous.html > > regards, > J=FCrgen > > --047d7bd6b5b4a0a90204f0211407 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
I don't have time to evaluate and respond to all = your points, but your first entry under "frightening discoveries"= really jumped out at me. On line 499:

try closed_type ty with Non_c= losed (ty0, real) ->

The name "ty0" is a pattern capture variable, which the= pattern matching construct binds to the first argument of the caught exn v= alue with constructor Non_closed. It doesn't need a prior declaration..= . you are declaring it right there. Surely you were simply mistaken? I find= it unbelievable that someone could write OCaml for years, even hacking on = the compiler, without understanding basic pattern matching.


On Thu,= Jan 16, 2014 at 3:00 PM, J=FCrgen Pfitzenmaier <pfitzen@pfitzenmaie= r.de> wrote:
=20=20=20=20 =20
=20
Dear Ocaml users,
=20
I found some serious errors in the compiler e.g. in line 28 of typing/includecore.ml
=20
and line 499 of typing/cty= pe.ml of version 3.12.1.
=20
=A0
=20
A longer list of errors with explanations and possible fixes will be und= er
=20 =20
=A0
=20
regards,
=20
J=FCrgen
=20
=A0
=20

--047d7bd6b5b4a0a90204f0211407--