From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA28776 for caml-red; Sun, 19 Nov 2000 15:51:56 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA04720 for ; Fri, 17 Nov 2000 15:01:36 +0100 (MET) Received: from beaune.inria.fr (beaune.inria.fr [128.93.8.3]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id eAHE1Zj16801 for ; Fri, 17 Nov 2000 15:01:35 +0100 (MET) Received: by beaune.inria.fr (8.8.8/1.1.22.3/14Sep99-0328PM) id PAA0000024608; Fri, 17 Nov 2000 15:01:34 +0100 (MET) Date: Fri, 17 Nov 2000 15:01:34 +0100 (MET) From: Damien Doligez Message-Id: <200011171401.PAA0000024608@beaune.inria.fr> To: caml-list@inria.fr Subject: Re: unwind-protect? Sender: weis@pauillac.inria.fr >From: Pierre Weis >Here, polymorphism, curryfication, and specialization are shining, >since you juste have to add one in_* functional application before an >actual call to any function f to obtain a specialized evaluation >context for f. For instance: >let in_tmp f arg = in_directory "/tmp" f arg;; Actually, currying gets in the way in this case (as it often does). If f takes two arguments, then "in_tmp f x y" will not work as expected, but the type-checker will not find the error. -- Damien