On 18/10/2007, Andreas Rossberg wrote: > > > I guess you mean this one: > > http://web.cecs.pdx.edu/~sheard/papers/ExplicitLazy.ps > > The primitive you're alluding to is called "mimic" in it. Exactly! Thanks! I owe my (future) success to you :) On 18/10/2007, skaller wrote: > > > No, but Felix does it by default > What do you mean? You mean that if I write a map map f [] = [] map f x:xs = f x : map f xs I can apply it both to infinite and lazy lists? nums n = n : nums (n + 1) map (+1) (nums 4) map (print_int) [1; 5; 6] On 18/10/2007, Jon Harrop wrote: > > > Scala can do something similar by controlling evaluation simply by > altering > the signature. However, I've reviewed Haskell recently and I think > complete > laziness is more of a hindrance than a benefit. The only think I'd like to > see added to eager FPLs is the ability to pattern match over lazy values, > forcing them only when necessary. > I never said anything about complete laziness. Actually, I positively agree with you, and I was searching for this paper as I don't want complete laziness. However, I consider laziness very useful in particular situations! For example, see this comment: http://programming.reddit.com/info/2mxh4/comments/c2ngwb - Tom