From: Chet Murthy <murthy.chet@gmail.com>
To: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
Cc: caml-list@inria.fr, jon@ffconsultancy.com
Subject: Re: [Caml-list] Re: Haskell vs OCaml
Date: Fri, 22 Mar 2013 17:09:16 -0700 [thread overview]
Message-ID: <7497262.o5HBqi0ou5@groupon> (raw)
In-Reply-To: <97B30B8BD4FA43F9B36C3CFBFB51221E@erratique.ch>
On Saturday, March 23, 2013 01:02:51 AM Daniel Bünzli wrote:
> Le samedi, 23 mars 2013 à 00:47, Chet Murthy a écrit :
> > [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.]
>
> 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--
next prev parent reply other threads:[~2013-03-23 0:09 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.e3jKyg6bl9+vTkPgypQ4ZRzEoos@ifi.uio.no>
2013-03-18 9:08 ` [Caml-list] " adrian.alexander.may
2013-03-18 9:48 ` Malcolm Matalka
2013-03-18 9:59 ` Gabriel Scherer
2013-03-18 11:05 ` Adrian May
2013-03-18 11:26 ` Kakadu
2013-03-18 18:05 ` [Caml-list] " Chet Murthy
2013-03-20 20:44 ` Jon Harrop
2013-03-20 21:10 ` Yaron Minsky
2013-03-21 0:26 ` Jon Harrop
2013-03-21 20:58 ` Yaron Minsky
2013-03-23 23:33 ` Richard W.M. Jones
2013-03-21 21:55 ` Török Edwin
2013-03-22 17:51 ` Jon Harrop
2013-03-22 18:46 ` Daniel Bünzli
2013-03-22 19:53 ` Jon Harrop
2013-03-22 20:23 ` Daniel Bünzli
2013-03-22 22:13 ` Jon Harrop
2013-03-22 23:35 ` Daniel Bünzli
2013-03-22 23:47 ` Chet Murthy
2013-03-23 0:02 ` Daniel Bünzli
2013-03-23 0:09 ` Chet Murthy [this message]
2013-03-23 1:17 ` Jon Harrop
2013-03-23 1:41 ` oliver
2013-03-23 1:15 ` Jon Harrop
2013-03-23 1:50 ` Daniel Bünzli
2013-03-25 1:22 ` Francois Berenger
2013-03-23 1:25 ` oliver
2013-03-19 1:23 ` [Caml-list] " Francois Berenger
2013-03-26 10:36 ` Nicolas Braud-Santoni
2013-03-26 0:49 ` Kristopher Micinski
2013-03-26 2:37 ` Erik de Castro Lopo
2013-03-26 2:57 ` Kristopher Micinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7497262.o5HBqi0ou5@groupon \
--to=murthy.chet@gmail.com \
--cc=caml-list@inria.fr \
--cc=daniel.buenzli@erratique.ch \
--cc=jon@ffconsultancy.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox