Hello Claus, Friday, February 24, 2006, 6:55:51 PM, you wrote:
CR> not quite (though I believe that would be close to Simon M's idea). CR> in my modification, both map and length would move completely CR> into the export section WHY? it's not the interface. implementation of exported functions is of no interest for module users like the implementations of any other functions. i tried to emphasize this moment - in any case we should either duplicate part of code or have the definitions splitted in the very unpleasant manner. i prefer instead to not have "interface" section at all and generate it automatically by haddock >> -- |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:[EMAIL PROTECTED] _______________________________________________ Haskell-prime mailing list [email protected] http://haskell.org/mailman/listinfo/haskell-prime
