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: Applying a function to two lists (Francesco Ariis)
2. Handling failed output (Matt Williams)
3. Re: Handling failed output (Imants Cekusins)
----------------------------------------------------------------------
Message: 1
Date: Sat, 23 Apr 2016 15:42:06 +0200
From: Francesco Ariis <[email protected]>
To: [email protected]
Subject: Re: [Haskell-beginners] Applying a function to two lists
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
On Sat, Apr 23, 2016 at 08:50:32AM +0000, Matt Williams wrote:
> Thanks a lot for this.
>
> Just to clarify (and ignoring the flip, which I can solve by rewriting the
> checkNum function) - is this an example of currying?
Example of partial application! Currying is when you have a function like:
f :: (a, b) -> c
and transform it to:
g :: a -> b -> c
Open ghci and play a bit with `curry` and `uncurry` to get the idea!
------------------------------
Message: 2
Date: Sat, 23 Apr 2016 21:59:10 +0100
From: Matt Williams <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Subject: [Haskell-beginners] Handling failed output
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed
Dear All,
I am trying to work out how to handle a function that might return
different types of output. I assume I need to use either Maybe or
Either, but I can't quite get it to work.
At the moment, I have some function:
checkNum3 :: Int -> Int -> (Int,Int)
checkNum3 a b = if check a b then (a,b)
else (a,-1)
checkLists :: [Int] -> Int -> [(Int,Int)]
checkLists a b = map (checkNum3 b) a
checkAll3 :: [Int] -> [Int] -> [(Int,Int)]
checkAll3 a b = concat (map (checkLists a) b)
However, I know that checkNum3 isn't a good function - it uses setting
the second element of the tuple to -1 to signal failure, which is
obviously a recipe for problems later on. However, I want to return
either a pair of integers, or a single integer.
Any advice would be appreciated.
Thanks,
Matt
------------------------------
Message: 3
Date: Sat, 23 Apr 2016 23:05:05 +0200
From: Imants Cekusins <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Handling failed output
Message-ID:
<cap1qinbwnlwek6rhn97ghy4_cg8m1cty_6w2gbgxtyt-u4+...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hello Matt,
Either Int (Int,Int) might work.
Left ... by convention indicates 'other' result.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.haskell.org/pipermail/beginners/attachments/20160423/e7a4dfa6/attachment-0001.html>
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 94, Issue 24
*****************************************