Send Beginners mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  why is this type wrong
      (Sumit Sahrawat, Maths & Computing, IIT (BHU))
   2. Re:  why is this type wrong (Roelof Wobben)
   3. Re:  why is this type wrong
      (Sumit Sahrawat, Maths & Computing, IIT (BHU))


----------------------------------------------------------------------

Message: 1
Date: Tue, 12 May 2015 12:17:21 +0530
From: "Sumit Sahrawat, Maths & Computing, IIT (BHU)"
        <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] why is this type wrong
Message-ID:
        <cajbew8mnsqnvdktsq1qjuxpgzcx5x1r_jdc178km0yt7uy8...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

I recommending first trying out the `last' function in ghci.

    Prelude> last []
    *** Exception: Prelude.last: empty list
    Prelude> last [1,2]
    2

Instead of using

    last [] = []

You can use

    last [] = error "Empty list"

Where error is defined in a way such that it can take on any type.
In ghci

    Prelude> :type error
    error :: [Char] -> a

On 12 May 2015 at 12:09, Mike Meyer <[email protected]> wrote:

> On May 12, 2015 1:32 AM, "Roelof Wobben" <[email protected]> wrote:
> >
> > Hello,
> >
> > To practice recursion I try to make some functions of Data list myself
> on the recursive way.
> >
> > First I will try last.
> >
> > So I did this :
> >
> > -- | Main entry point to the application.
> > module Main where
> >
> > -- | The main entry point.
> > last' :: [a] -> a
> > last' [] = []
> > last' (x:xs) = last xs
> >
> >
> > but now I see this error message :
> >
> > src/Main.hs@6:12-6:14
> > Couldn't match expected type
> > a
> > with actual type
> > [t0]
> > a
> > is a rigid type variable bound by the type signature for last' :: [a] ->
> a at
> /home/app/isolation-runner-work/projects/112712/session.207/src/src/Main.hs:5:10
> Relevant bindings include last' :: [a] -> a (bound at
> /home/app/isolation-runner-work/projects/112712/session.207/src/src/Main.hs:6:1)
> ?
> >
> > I my oponion I have said that the input is a array and the output a
> string,
>
> Except for saying list instead of array, I'd agree with that. But when you
> write last' [] = [], the output is [], which does not have the expected
> type of strong. So the actual type is a list.
>
> You need to return a string.
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> 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/fcc0da37/attachment-0001.html>

------------------------------

Message: 2
Date: Tue, 12 May 2015 08:48:29 +0200
From: Roelof Wobben <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] why is this type wrong
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

An HTML attachment was scrubbed...
URL: 
<http://mail.haskell.org/pipermail/beginners/attachments/20150512/166fb58a/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 12 May 2015 12:21:01 +0530
From: "Sumit Sahrawat, Maths & Computing, IIT (BHU)"
        <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] why is this type wrong
Message-ID:
        <CAJbEW8Mw_rXTa8utsJgJB6UjETNMFTWiORYfF_YgXZX0a=-e...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Make a dummy main function,

    main = return ()

And load this file in ghci to use you definition of last. The other option
is to not make this module the Main module.
Then also, you can load it in ghci.

On 12 May 2015 at 12:18, Roelof Wobben <[email protected]> wrote:

>  Thanks
>
> Can I just say Main =
> I will google to look how to make a safeLast.
>
> Roelof
>
>
>
> Alexey Shmalko schreef op 12-5-2015 om 8:46:
>
> last' [] = error "last' on empty list"
>
> Otherwise, you should wrap the result in Maybe to make your function work
> as safeLast.
>
>  Oh... GHC's exception seems to say you haven't defined `main` in your
> module.
>
> On Tue, May 12, 2015 at 9:42 AM Roelof Wobben <[email protected]> wrote:
>
>>  Mike Meyer schreef op 12-5-2015 om 8:39:
>>
>> On May 12, 2015 1:32 AM, "Roelof Wobben" <[email protected]> wrote:
>> >
>> > Hello,
>> >
>> > To practice recursion I try to make some functions of Data list myself
>> on the recursive way.
>> >
>> > First I will try last.
>> >
>> > So I did this :
>> >
>> > -- | Main entry point to the application.
>> > module Main where
>> >
>> > -- | The main entry point.
>> > last' :: [a] -> a
>> > last' [] = []
>> > last' (x:xs) = last xs
>> >
>> >
>> > but now I see this error message :
>> >
>> > src/Main.hs@6:12-6:14
>> > Couldn't match expected type
>> > a
>> > with actual type
>> > [t0]
>> > a
>> > is a rigid type variable bound by the type signature for last' :: [a]
>> -> a at
>> /home/app/isolation-runner-work/projects/112712/session.207/src/src/Main.hs:5:10
>> Relevant bindings include last' :: [a] -> a (bound at
>> /home/app/isolation-runner-work/projects/112712/session.207/src/src/Main.hs:6:1)
>> ?
>> >
>> > I my oponion I have said that the input is a array and the output a
>> string,
>>
>> Except for saying list instead of array, I'd agree with that. But when
>> you write last' [] = [], the output is [], which does not have the expected
>> type of strong. So the actual type is a list.
>>
>> You need to return a string.
>>
>>
>> _______________________________________________
>> Beginners mailing 
>> [email protected]http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
>>  Thanks,
>>
>> I did change it to this :
>>
>> -- | Main entry point to the application.
>> module Main where
>>
>> -- | The main entry point.
>> last' :: [a] -> a
>>  last' [x] = x
>>  last' (x:xs) = last xs
>>
>>  So I have to look at another way to say if there is a empty list then
>> there is no answer.
>> And when I run it  i see this error message :
>>
>> GHC threw an exception : Not in scope: ?Main.main?
>>
>>
>> Roelof
>>
>>
>>
>> ------------------------------
>>    [image: Avast logo] <http://www.avast.com/>
>>
>> Dit e-mailbericht is gecontroleerd op virussen met Avast
>> antivirussoftware.
>> www.avast.com
>>
>>  _______________________________________________
>> Beginners mailing list
>> [email protected]
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>
>
> _______________________________________________
> Beginners mailing 
> [email protected]http://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
> [email protected]
> 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/ff4a7cc6/attachment.html>

------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 83, Issue 17
*****************************************

Reply via email to