[Haskell-cafe] Re: defining last using foldr
wnoise at ofb.net
Tue Aug 14 16:05:19 EDT 2007
On 2007-08-14, Alexteslin <alexteslin at yahoo.co.uk> wrote:
> I am trying to do the exercise which asks to define built-in functions
> 'last' and 'init' using 'foldr' function, such as last "Greggery Peccary" =
> the type for my function is:
> myLast :: [Char] -> Char
> I am not generalizing type so that make it less complicated. But what ever
> i am trying would not work. The only function type foldr takes as an
> argument is either (a->a->a) or (a->b->b) and none of the functions i found
> that would match this type from Char to Char. So in other words should be
> (Char->Char-Char). I can define the function without foldr but that misses
> the point of the exercise.
Folds replace the "cons" operator (:) with the function you pass it.
If you want the tail of the list, you want what is on the right hand
side of every cons (unless that's ).
More information about the Haskell-Cafe