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 453787EE80 for ; Sat, 23 Mar 2013 01:09:39 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of murthy.chet@gmail.com) identity=pra; client-ip=209.85.223.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="murthy.chet@gmail.com"; x-sender="murthy.chet@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of murthy.chet@gmail.com designates 209.85.223.169 as permitted sender) identity=mailfrom; client-ip=209.85.223.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="murthy.chet@gmail.com"; x-sender="murthy.chet@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-ie0-f169.google.com) identity=helo; client-ip=209.85.223.169; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="murthy.chet@gmail.com"; x-sender="postmaster@mail-ie0-f169.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AigBAGzxTFHRVd+pmGdsb2JhbABDxWOBaRYOAQEBAQEICQ0HFCiCJAEBBUABGx0BAwwGBRgJJQ8BExEBBQEcBi6HZgEDD6QJjDKCe4QjChknDVmIfAEFDI5ZMweDQAOIPziKJ5JoP4RN X-IPAS-Result: AigBAGzxTFHRVd+pmGdsb2JhbABDxWOBaRYOAQEBAQEICQ0HFCiCJAEBBUABGx0BAwwGBRgJJQ8BExEBBQEcBi6HZgEDD6QJjDKCe4QjChknDVmIfAEFDI5ZMweDQAOIPziKJ5JoP4RN X-IronPort-AV: E=Sophos;i="4.84,895,1355094000"; d="scan'208";a="8916966" Received: from mail-ie0-f169.google.com ([209.85.223.169]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 23 Mar 2013 01:09:38 +0100 Received: by mail-ie0-f169.google.com with SMTP id qd14so4127941ieb.28 for ; Fri, 22 Mar 2013 17:09:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding :content-type; bh=23vAxI0TUE1rAZt5WzTgbyKElZ2FcK5kUhulTLjCCdw=; b=Y/bJxOxDmC4JxBLdoOjPqaZPynLSoIOzk50JdK1n/U0N3nKfi+PYJgTZZXx2uJMGja YbCXgRmTUxhTo4tRXUjexmDyWoWyOGvQEiVdjuUOEt/G1Fmz7xk5uQ/5kMrh1LnygtJP Hn2FP9juWFSQF+vJ3zEtBwfjdOlD4NF0bEgncBbtst4Mm3aU9lenNQepvMtMC+GxN7S2 KUj1S4lBLukv1kG5PujLYFRNWaYLl7GdOticD6yPQnfHJ3GDL9xWkAJfyF49criMvbWm BtXYlldWUvU17JsiyYk3crEOL9Ri8/sHcDlBmbSD20L+wE7iD0YA2pV9URiS0sTB/VOD EeZQ== X-Received: by 10.50.44.106 with SMTP id d10mr3962469igm.26.1363997376997; Fri, 22 Mar 2013 17:09:36 -0700 (PDT) Received: from groupon.localnet (ip-64-134-239-95.public.wayport.net. [64.134.239.95]) by mx.google.com with ESMTPS id ie7sm4461535igb.1.2013.03.22.17.09.34 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 22 Mar 2013 17:09:35 -0700 (PDT) From: Chet Murthy To: Daniel =?ISO-8859-1?Q?B=FCnzli?= Cc: caml-list@inria.fr, jon@ffconsultancy.com Date: Fri, 22 Mar 2013 17:09:16 -0700 Message-ID: <7497262.o5HBqi0ou5@groupon> User-Agent: KMail/4.8.5 (Linux/3.2.0-38-generic-pae; KDE/4.8.5; i686; ; ) In-Reply-To: <97B30B8BD4FA43F9B36C3CFBFB51221E@erratique.ch> References: <54562612.dHlMTtysyv@groupon> <97B30B8BD4FA43F9B36C3CFBFB51221E@erratique.ch> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: Re: [Caml-list] Re: Haskell vs OCaml On Saturday, March 23, 2013 01:02:51 AM Daniel B=FCnzli wrote: > Le samedi, 23 mars 2013 =E0 00:47, Chet Murthy a =E9crit : > > [short answer: because each time that a paying customer is affected by > > a buggy driver, the vendor of the CLR or JVM spends -serious- money > > finding and shooting that bug. They spend -serious- money building > > internal tooling to help them do this. It's expensive and > > time-consuming, and furthermore consumes -extremely-skilled- people. > > No OSS language runtime can afford that.] >=20 > I can't speak for what happens with CLR or JVM, but if you bind to OpenGL > from OCaml you are basically programming with OpenGL's C interface. There= 's > no direct interaction between the OpenGL drivers and OCaml's language > runtime. So I don't think your remark makes sense in that context. For most C drivers I've seen, the same is true in the JVM. The "direct interaction" consists in manipulating/allocating some heap-objects, and .... stray pointers. Obv. it's the latter that cause all the problem. For example, long ago a (POSIX-threaded) JVM used signals to stop threads in order to do mark-and-sweep GC. Unfortunately, there were a number of C drivers that were not "signal-safe" (didn't restart their syscalls properly), and so you'd get "interesting" segfaults at GC time. The solution involved some hacking to avoid sending signals to threads in C driver code, but still stopping them when they emerged (or called code in the JVM, e.g. to allocate heap-memory). --chet--