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 <r.wobben@home.nl> 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 <r.wobben@home.nl> wrote:
Mike Meyer schreef op 12-5-2015 om 8:39:

On May 12, 2015 1:32 AM, "Roelof Wobben" <r.wobben@home.nl> 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
Beginners@haskell.org
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




Avast logo

Dit e-mailbericht is gecontroleerd op virussen met Avast antivirussoftware.
www.avast.com


_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners




Avast logo

Dit e-mailbericht is gecontroleerd op virussen met Avast antivirussoftware.
www.avast.com



_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners




--
Regards

Sumit Sahrawat