[Haskell-beginners] why is this type wrong

Sumit Sahrawat, Maths & Computing, IIT (BHU) sumit.sahrawat.apm13 at iitbhu.ac.in
Tue May 12 12:39:52 UTC 2015


The type of (.)

   (.) :: (b -> c) -> (a -> b) -> a -> c

Means that "last' [1,2,3]" should be a function, which it isn't
You can instead try,

    main = (print . last') [1,2,3]

Or equivalently,

    main = print . last' $ [1,2,3]

On 12 May 2015 at 18:06, Roelof Wobben <r.wobben at home.nl> wrote:

>  Thanks all.
>
> I have now this :
>
> -- | The main entry point.
> last' :: [a] -> Maybe a
> last' [] = Nothing
> last' [x] = Just x
> last' (_:xs) = last' xs
>
>
> main = print . last' [1,2,3]
>
> but I see this message about main :
>
>
>
>
>
>
>
> * GHC threw an exception : Couldn't match expected type ‘GHC.Types.IO
> <http://GHC.Types.IO> a0’ with actual type ‘a1 -> GHC.Types.IO
> <http://GHC.Types.IO> ()’ I work wih the fpcomplete and they demand a main
> in the code . Roelof *
>
>
> Nicolas SCHOEMAEKER schreef op 12-5-2015 om 11:45:
>
> Hi
>
> In your definition, you seem to have forgotten the case when your list is
> empty.
> [x] won't bind on [].
>
> Regards,
> Nicolas SCHOEMAEKER
>
> (*This email was composed from a mobile phone, please** excuse** any
> resulting mistakes*)
>
> Web, Cloud Computing & WebRTC developer
> Haskell Programmer
> Artificial Intelligence & Robotics enthusiast
> On May 12, 2015, at 11:40 AM, Kim-Ee Yeoh <ky3 at atamo.com> wrote:
>>
>>
>> On Tue, May 12, 2015 at 1:42 PM, Roelof Wobben <r.wobben at home.nl> wrote:
>>
>>  -- | The main entry point.
>>> last' :: [a] -> a
>>>  last' [x] = x
>>>  last' (x:xs) = last xs
>>
>>
>>  Notice that the last line does no recursion: it invokes the Prelude's
>> definition of last.
>>
>>  -- Kim-Ee
>>
>> ------------------------------
>>
>> Beginners mailing listBeginners at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
>
> _______________________________________________
> Beginners mailing listBeginners at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
>
>
> ------------------------------
>   [image: Avast logo] <http://www.avast.com/>
>
> Dit e-mailbericht is gecontroleerd op virussen met Avast
> antivirussoftware.
> www.avast.com
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>


-- 
Regards

Sumit Sahrawat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150512/47e8063d/attachment.html>


More information about the Beginners mailing list