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 PAA12162 for caml-red; Thu, 3 Aug 2000 15:14:20 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA32165 for ; Wed, 2 Aug 2000 19:27:38 +0200 (MET DST) Received: from thresher.xpsystems.com ([207.171.47.5]) by nez-perce.inria.fr (8.10.0/8.10.0) with ESMTP id e72HRWX11243 for ; Wed, 2 Aug 2000 19:27:37 +0200 (MET DST) Received: by THRESHER with Internet Mail Service (5.5.2650.21) id ; Wed, 2 Aug 2000 10:28:06 -0700 Message-ID: From: Brent Fulgham To: John BEPPU Cc: caml-list@inria.fr Subject: RE: help an o'caml beginner Date: Wed, 2 Aug 2000 10:28:05 -0700 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: weis@pauillac.inria.fr > > > > What does the keyword "in" mean? > > > > It is just a keyword to prevent ambiguities when writing > expressions. E.g.: > > let x = y z ... > > is not the same as > > let x = y in > z ... > It's a way to "hide" functions inside of other functions. Like in the tail-recursive case I posted, I cluttered the namespace with the second "internal" recursive function. In a real program it is better to hide that "internal" function from the outside world: let firstFunction x = blah blah in secondFunction y = blah blah (uses firstFunction);; Thanks, -Brent