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. Applying a function to two lists (Matt Williams)
2. Re: Applying a function to two lists (Francesco Ariis)
3. i have questions about Haskell (Eunsu Kim)
----------------------------------------------------------------------
Message: 1
Date: Fri, 22 Apr 2016 22:20:19 +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] Applying a function to two lists
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed
Dear List,
I am stuck.
I have a function that needs to apply each item of one list to every
element of the second list in turn.
So far, I have this function:
checkNum :: Int -> [Int] -> (Int,[Int])
checkNum a b = (a,filter (check a) $ b)
which implements what I need, but I now need to apply it to every
element of the first list.
I am looking for something like:
list1 = [1,2,3,4,5,6]
list2 = [1,2,3,4,5,6]
map checkNum list1 list2
to return:
[(1,[1]),(2[3,4,5]),(6,[3])
(I have tried to simplify this a little, so my apologies if it looks
pointless - the real function is useful)
Any help would be appreciated.
Matt
------------------------------
Message: 2
Date: Fri, 22 Apr 2016 23:26:40 +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 Fri, Apr 22, 2016 at 10:20:19PM +0100, Matt Williams wrote:
> I am looking for something like:
>
> list1 = [1,2,3,4,5,6]
> list2 = [1,2,3,4,5,6]
>
> map checkNum list1 list2
>
> to return:
>
> [(1,[1]),(2[3,4,5]),(6,[3])
>
> (I have tried to simplify this a little, so my apologies if it looks
> pointless - the real function is useful)
>
> Any help would be appreciated.
>
> Matt
Hey Matt,
if what you want is
[checkNum 1 list2, checkNum 2 list2, etc.]
then
map (flip checknum list2) list1
is what you want (flip signature being :: (a -> b -> c) -> b -> a -> c)
------------------------------
Message: 3
Date: Fri, 22 Apr 2016 19:18:52 -0500
From: Eunsu Kim <[email protected]>
To: [email protected]
Subject: [Haskell-beginners] i have questions about Haskell
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"
Hi
when outputting the polynomial value, actually write out the polynomial, but:
- skipping any missing monomials
- not including any extraneous signs
-not showing the constant term
for the above example, the final line would be:
The value of 1.0 x^3 - 2.0 x^2 + 10.0 evaluated at -1.0 is 7.0
how can I do this??? i have no idea now?.
here is my code:
evalpoly = do putStr "What is the degree of polynomial: "
degree <- getLine
coeffs <- (funcOfCoeff ((read degree::Int)+1) [] )
putStr "What value do you want to evaluate at: "
value <- getLine
putStr "The value of the polynomial is: "
putStrLn (show (getResult (coeffs) (read value :: Float) ))
--function loop to get coefficient--
funcOfCoeff 0 coeffs = do --to check the degree of 0
return coeffs --return list of coefficient
funcOfCoeff degree coeffs = do
putStr ("What is the x^" ++ show(degree-1))
putStr " coefficient: "
coeff <- getLine
loop <- funcOfCoeff (degree-1) ((read coeff :: Float) :
coeffs)
return loop
getResult (coeffs) x = sum(map(\(a,b) -> a*x^b).zip coeffs.iterate (+1)$0)
this is my output so far:
> evalpoly
What is the degree of the polynomial: 3
What is the x^3 coefficient: 1.0
What is the x^2 coefficient: - 2.0
What is the x^1 coefficient: 0
What is the x^0 coefficient: 10.0
What value do you want to evaluate at: -1.0
The value of the polynomial is 7.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.haskell.org/pipermail/beginners/attachments/20160422/3b8d20f9/attachment.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 22
*****************************************