From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id oBSNF8NK032272 for ; Wed, 29 Dec 2010 00:15:10 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsEAALv+GU3RVditkGdsb2JhbACXPIxuCBUBAQEBCQkMBxEEIKUqiXeCGIUALogRAQEDBYVFBIRjjDM X-IronPort-AV: E=Sophos;i="4.60,241,1291590000"; d="scan'208";a="93316922" Received: from mail-qy0-f173.google.com ([209.85.216.173]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-MD5; 29 Dec 2010 00:15:10 +0100 Received: by qyk1 with SMTP id 1so10604005qyk.18 for ; Tue, 28 Dec 2010 15:15:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:from:importance :x-priority:date:message-id:subject:to:content-type; bh=0tdSJMHf8fTgWe4EYK2LHZb3w5lbaWHHsHbDQWnyuYI=; b=DXvDQVzApDnveIhXUOzsyox6CMCDLT6TmR7FBiizF4RBJsdP1RQ4IQRQ81J5e1vxrV W8XeDVrSj8F9MSeGWkD0O6T7AV2/XqVA7Z9LwcDhfBsdhJyKN8l47Q9mlDx2gU6S8vFH WmmrSa1HLGMGXrHkJ3mHaYRaO07HRvJHz9+5c= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:importance:x-priority:date:message-id:subject:to :content-type; b=VwTm8ssRQtX6tbXvQ/+1xKKBKVG3wO0nBEjgltVqsnurK6nWZM2dt19spv7Cu2QOXs zXS/GYyqDZiW0yrZM6xoCAdlOpBsK9LzqTb349B7KxU/hijfS5gfgXIEdLAHsaxSDQem jV/Ll8CSC/HSspEJZ2Y4F6Rl7u6ZR0Ueabpa8= Received: by 10.224.37.145 with SMTP id x17mr13406243qad.8.1293578108715; Tue, 28 Dec 2010 15:15:08 -0800 (PST) MIME-Version: 1.0 From: Jacques Garrigue Importance: normal X-Priority: 3 Date: Wed, 29 Dec 2010 08:15:15 +0900 Message-ID: <-7059986755517193363@unknownmsgid> To: Joel Reymont , caml-list@yquem.inria.fr Content-Type: text/plain; charset=ISO-8859-1 Subject: RE: [Caml-list] c++ class to ocaml class or module? From: Joel Reymont >Would you suggest wrapping a C++ class in a class in OCaml? > >Should I pick another approach, e.g. using a module? In C++ classes act both as object generators and modularity providers. So you should first determine what is the role of the class you're wrapping. Note also that since the FFI cannot directly create ocaml objects, you will first need to wrap methods as external functions anyway. I would only suggest making the extra effort of combining these functions into classes if sutyping is actively used. Jacques Garrigue