From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p05GEGcJ021484 for ; Wed, 5 Jan 2011 17:14:16 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjMFAKAnJE2uedqy/2dsb2JhbACWD48HvwSCFoM2BIRojDY X-IronPort-AV: E=Sophos;i="4.60,278,1291590000"; d="scan'208";a="84254752" Received: from b2.da.79ae.static.theplanet.com (HELO pse.psellos.com) ([174.121.218.178]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 05 Jan 2011 17:14:10 +0100 Received: from pse.psellos.com (localhost.localdomain [127.0.0.1]) by pse.psellos.com (8.13.8/8.13.8) with ESMTP id p05GE7Lv026280 for ; Wed, 5 Jan 2011 10:14:07 -0600 Received: (from jeffsco@localhost) by pse.psellos.com (8.13.8/8.13.8/Submit) id p05GE6sh026272; Wed, 5 Jan 2011 10:14:06 -0600 To: caml-list@inria.fr References: <201101041938.p04JcS2Q003466@pse.psellos.com> <10E36BD7-F233-4D47-8B40-E145474E6132@gmail.com> From: Jeffrey Scofield Date: 05 Jan 2011 10:14:06 -0600 In-Reply-To: <10E36BD7-F233-4D47-8B40-E145474E6132@gmail.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [Caml-list] Re: Native OCaml iPhone app now in iTunes Store Joel Reymont writes: > Are you bundling OCaml code as a library and putting a GUI layer of > ObjC on top? All the code is in OCaml; there's no ObjC except in the (thin) wrappers around the native iOS libraries. We wanted to write as much in OCaml as possible. As we say on the website, the OO subsystem of OCaml is very helpful for this. We have essentially a one-to-one correspondence between native iOS (Cocoa Touch) classes and OCaml classes. Even though we follow the Cocoa Touch design, we find that OCaml still has advantages in the GUI implementation. It's nice not to have to worry so much about object lifetimes, for example. We use idiomatic OCaml values for the low-level objects (like points and rectangles) and for small collections (where ObjC often uses rather cumbersome class instances). Often you can use the powerful parts of OCaml on the components of your GUI. Regards, Jeffrey