Hello staafmeister,

Thursday, September 10, 2009, 4:23:26 PM, you wrote:

> This doesn't work and is exactly what I'm afraid the compiler is going to
> do. Cache needs to
> be associated with the function f.

> Otherwise one would get conflicts

well, technique i used is well known, we would have something like C
global variable. initiating it inside function is a technique i never
seen, i *expect* that it would be the same since syntax scoping
doesn't change semantics, but it would be better to ask people that
know haskell better

if you want to disable sharing of cache you need to make function (or
some string representing it) an explicit parameter. i see that you try
to do it via declaring f at the outer function level and x in the
inner function, but this shouldn't work. the following:

outer f = inner
  where inner x = f x*f x

and

outer f x = f x*f x

are exactly the same. in general, consider Haskell as pure math
notation with all its features



-- 
Best regards,
 Bulat                            mailto:bulat.zigans...@gmail.com

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to