From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id DDEEFBC57 for ; Fri, 5 Mar 2010 02:37:08 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuYCAAvvj0vRVaA0imdsb2JhbACRJoIQiAcIFQEBAQoJDAcRBR+nU4FehTYtiEkBAQMFhHcEgxcc X-IronPort-AV: E=Sophos;i="4.49,584,1262559600"; d="scan'208";a="54054388" Received: from mail-pw0-f52.google.com ([209.85.160.52]) by mail1-smtp-roc.national.inria.fr with ESMTP; 05 Mar 2010 02:37:08 +0100 Received: by pwi10 with SMTP id 10so1948425pwi.39 for ; Thu, 04 Mar 2010 17:37:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=ApTnBb9fhbhIlBM3pBBv6v4eKLTl6vpDnJbA6tkLosM=; b=Mdfrm+TrJF8W0YfclYDBz6ahPsmUvG7oV8YdGrS9cl6DbADAvIX7p5yGQNAZ1xoNXG b1LXBthQE2m0XmEPI9/B0sTimRMXjIwWh4aXSrnOaTlrVGtZc2+ydItsHPIrQLgNoClH vXJOUrdjpJU6KquQL9zScr+Q/+CRePKyMFMV0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=KMG93mThBDJfwokWFySvVti5FOXDjTazCF90p3aCByefn4WG1c7qCGBACpl+yH5Exk 7KhRtP4+OyqeuPKb1iSKVT/YlmXPLvpm5vY5lM2xM1eQTsck98CdR6+Esz4pn8Nvmk0u AXv3a35wK2v4q03MjljMorHXQEfYDYljuSzUg= MIME-Version: 1.0 Received: by 10.143.136.2 with SMTP id o2mr150422wfn.189.1267753026799; Thu, 04 Mar 2010 17:37:06 -0800 (PST) In-Reply-To: <91a3da521003041728s19b1302cm5f4e376aafbbd810@mail.gmail.com> References: <91a3da521003041728s19b1302cm5f4e376aafbbd810@mail.gmail.com> Date: Thu, 4 Mar 2010 20:37:06 -0500 Message-ID: Subject: Re: [Caml-list] NaCl/OCaml (OCaml as a client-side web programming language) From: Jeremy Bem To: =?ISO-8859-1?Q?Daniel_B=FCnzli?= Cc: caml-list List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; ocaml:01 ocaml:01 compilable:01 ocamlopt:01 bindings:01 ocamlopt:01 bunzli:01 buenzli:01 cmxa:01 cmxa:01 bindings:01 wrote:01 unix:01 unix:01 caml-list:01 Hi Daniel, I hope to post more documentation, but in a nutshell: standard library: Yes, but file operations are typically unavailable at the NaCl level and will fail. Str (and Num): I haven't included these yet, but I intend to. Unix: Similar capabilities are provided by the "Service" library instead. This seemed slightly more in keeping with the NaCl underpinnings than hacking Unix into submission. Third party OCaml modules should be compilable and usable, just use "nacl-ocamlopt" in place of "ocamlopt". Of course complex libraries may present complications in practice (e.g. if they try to access the filesystem). C bindings: it should be possible to interface with C code as per the OCaml manual, again substituting "nacl-ocamlopt" for "ocamlopt". The NaCl-specific libraries that are included (such as "Multimedia") provide a template that can be emulated. Hope that helps, Jeremy On Thu, Mar 4, 2010 at 8:28 PM, Daniel B=FCnzli wrote: > Hello Jeremy, > > Interesting contribution. > > Maybe this is more a question about native client but could you > elaborate on the kind of constraints nacl puts on the client code. > Which libraries can be used ? The standard library ? str.cmxa ? > unix.cmxa ? Third party pure caml modules ? C bindings ? etc. > > Best, > > Daniel >