
Hello Claus, Friday, February 24, 2006, 2:46:40 PM, you wrote: CR> yes, this would add one constraint on where to place definitions. but CR> grouping logically related definitions together is not quite what one CR> might think anyway: aren't the definitions making up the interface CR> most strongly related, with the others just changeable auxiliaries? so: -- |iterate function over list map :: (a->b) -> [a] -> [b] -- |find length of list length :: [a] -> Int private: map f (x:xs) = f x : map f xs map f [] = [] length xs = length# xs 0# length# (x:xs) n# = length# xs (n# +# 1) length# [] n# = n# and in order to see map's type or comment when i implement it, i should see to other part of file. i personally prefer to have public/private modifiers on each function and gather interface documentation by tools like haddock -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com