The need to specify 'rec' in a recursive function defintion
[
Home
]
[ Index:
by date

by threads
]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
Date:   (:) 
From:  Saptarshi Guha <saptarshi.guha@g...> 
Subject:  Re: [Camllist] The need to specify 'rec' in a recursive function defintion 
> > let f arg = expr > > is just a shorthand notation for > > let f = (fun arg > expr) > > or, in other words, the anonymous function constructor (fun arg > expr) > is the basic building block to which the "let" construction is broken > down. The anonymous function has a direct counterpart in the lambda > calculus, i.e. this is the level of mathematical groundwork. > > You cannot directly express recursion in an anonymous function. For > defining the operational meaning of a recursive function a special > helper is needed, the Ycombinator. It gets quite complicated here from > a theoretical point of view because the Ycombinator is not typable. But > generally, the idea is to have a combinator y that can be applied to a > function like > Â y (fun f arg > expr) arg > and that "runs" this function recursively, where "f" is the recursion. This makes sense. Thanks, I did read about the ycombinator and its use in recursion in Friedman and Wand. I'll read it again. Thanks for the help Saptarshi