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 E90877FD90 for ; Thu, 29 Dec 2016 18:46:46 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christoph.hoeger@tu-berlin.de; spf=None smtp.mailfrom=christoph.hoeger@tu-berlin.de; spf=None smtp.helo=postmaster@mail.tu-berlin.de Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=pra; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=mailfrom; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.tu-berlin.de) identity=helo; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="postmaster@mail.tu-berlin.de"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AKZqn+xLIMqxPWW2629mcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgXI/vxwZ3uMQTl6Ol3ixeRBMOAuq4C07ad4v6oGTRZp83e4DZaKN0EfiRGoP?= =?us-ascii?q?tVtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blIt?= =?us-ascii?q?daymUrLV2s++0uT65obeeR4A0DG0ZLc3KBStsS3QsNMXiM1sMPBi5AHOpy5je/?= =?us-ascii?q?5X3n9vPVKkv4jz6934qJVj6SVLp/U594hAVqj1cr4QUaEdBjk8N2EzosHm40qQ?= =?us-ascii?q?BTCT72cRBz1F2iFDBBLIuUn3?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AOAAA9S2VYhyEHlYJdHAEBBAEBCgEBG?= =?us-ascii?q?AEFAQsBgwwBAQEBAYIKjVSpXoIHh34/FAEBAQEBAQEBAQEBEgEBAQoLCQkdMEI?= =?us-ascii?q?SgV8YgkeBMwJfDQYCAQGIbASeH5AAgiWKbg+ISIJhhDOCYgstgl0Fmn2DZIF9l?= =?us-ascii?q?X6GNpI+H4UlDFaBanGGHoJiAQEB?= X-IPAS-Result: =?us-ascii?q?A0AOAAA9S2VYhyEHlYJdHAEBBAEBCgEBGAEFAQsBgwwBAQE?= =?us-ascii?q?BAYIKjVSpXoIHh34/FAEBAQEBAQEBAQEBEgEBAQoLCQkdMEISgV8YgkeBMwJfD?= =?us-ascii?q?QYCAQGIbASeH5AAgiWKbg+ISIJhhDOCYgstgl0Fmn2DZIF9lX6GNpI+H4UlDFa?= =?us-ascii?q?BanGGHoJiAQEB?= X-IronPort-AV: E=Sophos;i="5.33,428,1477954800"; d="asc'?scan'208";a="252197981" Received: from mail.tu-berlin.de ([130.149.7.33]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Dec 2016 18:46:46 +0100 X-tubIT-Incoming-IP: 91.66.22.179 Received: from ip5b4216b3.dynamic.kabel-deutschland.de ([91.66.22.179] helo=[192.168.178.42]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-5) with esmtpa for id 1cMemq-0003SU-7T; Thu, 29 Dec 2016 18:46:45 +0100 To: caml users From: =?UTF-8?Q?Christoph_H=c3=b6ger?= Organization: =?UTF-8?Q?Technische_Universit=c3=a4t_Berlin?= Message-ID: Date: Thu, 29 Dec 2016 18:46:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="A5tuvgpgtQbWujJnQpXtx8Q9eWqe5KDNL" X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.12.29.173618 X-PMX-Spam: Gauge=IIIIIII, Probability=0%, Report='' Subject: [Caml-list] Re-entrant OCaml This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --A5tuvgpgtQbWujJnQpXtx8Q9eWqe5KDNL Content-Type: multipart/mixed; boundary="eFmjDrGiwMFOqTxQ1EqQrmEG9sVvEC3AK"; protected-headers="v1" From: =?UTF-8?Q?Christoph_H=c3=b6ger?= To: caml users Message-ID: Subject: Re-entrant OCaml --eFmjDrGiwMFOqTxQ1EqQrmEG9sVvEC3AK Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dear all, I am currently investigating a proprietary application server with an embedded functional language. The current implementation of the language misses several features and one particular interesting path for further development would be to compile it to OCaml. There is, however, the caveat of embedding the generated code in the application server. Right now, (compiled) programs are called directly from the core (effectively just C-functions) and call a certain API on the core (again, C-functions). This is possible in OCaml, too, but the default runtime is not thread-safe. If multiple such calls are made concurrently, I expect immediate havoc. Is there any project that provides a re-entrant runtime? In particular, I would be interested in a version of libasmrun (and the corresponding compiler) that does not rely on static variables. Instead, the required data could be passed as an argument to each function. Is there any such backend currently under development? How are the chances of mainlining? regards, Christoph --=20 Christoph H=C3=B6ger Technische Universit=C3=A4t Berlin Fakult=C3=A4t IV - Elektrotechnik und Informatik =C3=9Cbersetzerbau und Programmiersprachen Sekr. TEL12-2, Ernst-Reuter-Platz 7, 10587 Berlin Tel.: +49 (30) 314-24890 E-Mail: christoph.hoeger@tu-berlin.de --eFmjDrGiwMFOqTxQ1EqQrmEG9sVvEC3AK-- --A5tuvgpgtQbWujJnQpXtx8Q9eWqe5KDNL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlhlTAMACgkQhMBO4cVSGS8McgCgkMNe5fXo+3fyLaEeASnnDopR u1AAoK8SKmnrGNk7RqHJ3oq11acOExhE =uhUP -----END PGP SIGNATURE----- --A5tuvgpgtQbWujJnQpXtx8Q9eWqe5KDNL--