[Haskell-cafe] defining last using foldr
Alexteslin
alexteslin at yahoo.co.uk
Tue Aug 14 16:31:06 EDT 2007
Well, i have tried cons (:) operator but when it passed to foldr doesn't work
because cons operator operates first character and then the list but the
foldr argument takes a function (a->a->a). Maybe i am missing the point
here?
Aaron Denney wrote:
>
> On 2007-08-14, Alexteslin <alexteslin at yahoo.co.uk> wrote:
>>
>> Hi,
>>
>> 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"
>> =
>> 'y'
>>
>> 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 []).
>
> --
> Aaron Denney
> -><-
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
--
View this message in context: http://www.nabble.com/defining-last-using-foldr-tf4269357.html#a12151694
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe
mailing list