From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by pauillac.inria.fr; Tue, 18 Oct 94 11:43:50 +0100 Received: by pauillac.inria.fr; Tue, 18 Oct 94 11:42:54 +0100 From: Pierre Weis Message-Id: <9410181042.AA00330@pauillac.inria.fr> Subject: Question point fixe To: caml-list@pauillac.inria.fr Date: Tue, 18 Oct 1994 11:42:54 +0100 (MET) X-Mailer: ELM [version 2.4 PL21] Content-Type: text/plain Sender: weis@pauillac.inria.fr From: Vincent Poirriez Date: Tue, 18 Oct 94 09:43:00 +0100 To: caml-list@pauillac.inria.fr Subject: Question point fixe Ci-dessous une question dont j'ai oublie' la reponse: Pourquoi n'a t'on pas le droit d'e'crire: let build f = let g x = expr (* ou` l'on fait appel a` f *) in function y -> expr' (* ou` l'on fait appel a` g *) ;; let rec monf = build monf;; L'intere^t de cette e'criture serait d'effectuer les calculs possibles par l'application partielle alors que l'ecriture autorise'e: let rec monf x = build monf x;; ne les effectue pas Vincent (Vincent.Poirriez@inria.fr) (*I Hope my english isn't too bad*) Here after, a question that I don't remember the answer: Why is it impossible to write: let build f = let g x = expr (* where f is called *) in function y -> expr' (* where g is called *) ;; let rec monf = build monf;; The interest of such a definition is to perform some calculus in the partial application. These calculus are not performed in the following allowed definition: let rec monf x = build monf x;; Vincent (Vincent.Poirriez@inria.fr)