
Why not just?
==================
init' [] = Nothing
init' xs = Just xs
==================
Meets your type sig and is also has a time complexity of O(1) instead of
O(n) which will be the time complexity in the solution involving
fromMaybe. Maybe I'm missing something.
Perhaps it'd help us help you if you'd be a bit more clear on what you want
to achieve.
On Tue, May 12, 2015 at 9:01 PM, Sumit Sahrawat, Maths & Computing, IIT
(BHU)
On 12 May 2015 at 20:14, Roelof Wobben
wrote: Thanks,
The right solution was this :
init' (x:xs) = Just (x:fromMaybe xs (init' xs))
if I understand it right x:fromMaybe xs takes care that from xs the just or Nothing is removed ?
Trying it out in ghci,
fromMaybe [1,2] Nothing == [1,2] fromMaybe [1,2] Just [3] == [3]
It seems like that should indeed work.
Roelof
Alexey Shmalko schreef op 12-5-2015 om 16:33:
Try fromMaybe [1]. Examples
Prelude Data.Maybe> fromMaybe [] (Just [1,2,3]) [1,2,3] Prelude Data.Maybe> fromMaybe [1,2,3] Nothing [1,2,3]
[1]: https://hackage.haskell.org/package/base-4.8.0.0/docs/Data-Maybe.html#v:from...
On Tue, May 12, 2015 at 5:28 PM Roelof Wobben
wrote: Oke,
And how do I do this. Haskell is a difficult one to learn,
Roelof
Alexey Shmalko schreef op 12-5-2015 om 16:24:
Before cons'ing the result of init', you should check whether it's Just or Nothing. What you're doing now is something along the line with 5 : Just 3 -- this won't typecheck.
On Tue, May 12, 2015 at 5:22 PM Roelof Wobben
wrote: Brandon Allbery schreef op 12-5-2015 om 16:16:
On Tue, May 12, 2015 at 10:11 AM, Roelof Wobben
wrote: I do not understand what you are saying to me.
I know that init produces a Maybe [a] . That is why I did put a Just before it.
You are invoking it again though, and using its result as if it produces [a] instead of Maybe [a].
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
_______________________________________________ Beginners mailing listBeginners@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
What is then the right way to do. I still do not understand what you are trying to make clear to me.
Roelof
------------------------------ [image: Avast logo] http://www.avast.com/
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 listBeginners@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing listBeginners@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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
-- Regards
Sumit Sahrawat
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners