as provided, this won't compile because v hasn't been defined. f [] = 0 f (x:xs) = x . f xs compiles but gives f :: (Num (a -> c)) => [c -> c] -> a -> c which seems wrong. maybe I'm not understanding what v is not supposed to be. I am thinking maybe you want iterate *Main> take 5 $ iterate (+1) 0 [0,1,2,3,4] It would be easier to understand your desired function if you would provide an example of desired usage. t. PR Stanley <prstanley@ntlworld.com> Sent by: haskell-cafe-bounces@haskell.org 09/19/2007 02:17 AM To haskell-cafe@haskell.org cc Subject [Haskell-cafe] Missing Symbol (2) Hi Here's another one: f [] = v f (x:xs) = x . f xs The "." is supposed to denote a generic operator - f [] maps to some value v and applied to non-empty list applies head to ? operator. Thanks, Paul _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.