From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p39BgIfP022482 for ; Sat, 9 Apr 2011 13:42:19 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqsAAKtFoE2LEwExe2dsb2JhbACmMAEBFiYFILQ0AY02BYVu X-IronPort-AV: E=Sophos;i="4.63,330,1299452400"; d="scan'208";a="80500265" Received: from infao0809.mpi-sb.mpg.de (HELO hera.mpi-sb.mpg.de) ([139.19.1.49]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 09 Apr 2011 13:41:58 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=From:To:In-Reply-To:Subject: References:Message-Id:Content-Type:Content-Transfer-Encoding: Mime-Version:Date:Cc; bh=uh7WCim36WXP3hmVzbkQt7Ezm0uY/AqotPGMxv8 1/CY=; b=ZBv7+c3CTl5E8ZO1Ww67jLVhS1UIjdi4gKkH3nuRU0u2towSqfVvHTM gMUGkUgGCBrEGm/VGcKcG8gdUt2nT2UUvGUain7aaU7Eawtv8WWuq0rygcxa/x90 8ukOygDH/g8NM5c+DNFIjY+KLpAJegQYH2Q2z0Y5XhkeWAnqtq+I= Received: from zak.mpi-klsb.mpg.de ([139.19.1.27]:59532) by hera.mpi-sb.mpg.de (envelope-from ) with esmtp (Exim 4.69) id 1Q8WY7-0008OW-DF; Sat, 09 Apr 2011 13:41:57 +0200 Received: from mnch-d9bde4a4.pool.mediaways.net ([217.189.228.164]:51143 helo=[192.168.178.22]) by zak.mpi-klsb.mpg.de (envelope-from ) with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.69) id 1Q8WY6-00027c-SC; Sat, 09 Apr 2011 13:41:54 +0200 From: Andreas Rossberg To: Lauri Alanko In-Reply-To: <20110408212339.GD5064@melkinpaasi.cs.helsinki.fi> References: <4D9E28D2.1050808@wp.pl> <1302212990.8429.1150.camel@thinkpad> <0F248A34-05CF-4640-B122-75C4CE7C2CD2@mpi-sws.org> <20110408212339.GD5064@melkinpaasi.cs.helsinki.fi> Message-Id: <07069CB7-55C2-41B0-B75A-C071A47789DF@mpi-sws.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Date: Sat, 9 Apr 2011 13:41:53 +0200 Cc: caml-list@inria.fr X-Mailer: Apple Mail (2.936) Subject: Re: [Caml-list] What is an applicative functor? On Apr 8, 2011, at 23:23, Lauri Alanko wrote: > I'm not sure if there really is an "absence": functions over > first-class modules _are_ generative functors for all practical > purposes. The only problem is that they only support type constraints > for first-order types (and even this can be circumvented with a bit of > magic). Well, true, but IMO the first-order limitation is a severe one. Also, you cannot abstract over signatures that way, but admittedly, there are very few practical uses of that in current OCaml. Not sure what "magic" you have in mind, though. In practical terms, however, I don't think it is convenient enough to keep wrapping and unwrapping modules into first-class values just to emulate generative functors. Especially since this involves cumbersome type annotations. /Andreas