# Beginners Digest, Vol 118, Issue 3

```Send Beginners mailing list submissions to

To subscribe or unsubscribe via the World Wide Web, visit
or, via email, send a message with subject or body 'help' to
```
You can reach the person managing the list at

than "Re: Contents of Beginners digest..."

Today's Topics:

1.  回复：  I have a question in designing a 'show'function
(=?utf-8?B?5riF5769?=)

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

Message: 1
Date: Wed, 4 Apr 2018 20:14:57 +0800
From: "=?utf-8?B?5riF5769?=" <1625143...@qq.com>
To:

"=?utf-8?B?VGhlIEhhc2tlbGwtQmVnaW5uZXJzIE1haWxpbmcgTGlzdCAtIERpc2N1c3Npb24gb2YgcHJpbWFyaWx5YmVnaW5uZXItbGV2ZWwgdG9waWNzIHJlbGF0ZWQgdG8gSGFza2VsbA==?="

Subject: [Haskell-beginners] 回复：  I have a question in designing
a 'show'function
Message-ID: <tencent_f9d317fdce21032ff4df2c33492d29496...@qq.com>
Content-Type: text/plain; charset="utf-8"

Yes.And I finally make the function error-free.Thanks

------------------ 原始邮件 ------------------

You only have a single plus sign before the second invocation of show:

++ " " + show(pi * x * x) ++ "cm^2"Don't you mean concatenation?

++ " " ++ show(pi * x * x) ++ "cm^2"

Good luck,
-jn-

On Wed, Apr 4, 2018 at 1:37 AM, 清羽 <1625143...@qq.com> wrote:

here is the question:

Write a function showAreaOfCircle which, given the radius of a circle,
calculates the area of the circle,
<code>showAreaOfCircle 12.3</code>  ⇒ <code>"The area of a circle with radius
my solution is:
showAreaOfCircle :: Show a => a -> String showAreaOfCircle x = "The area of a
circle with radius" ++ show x ++ "is about" ++ " " + show(pi * x * x) ++ "cm^2"
but there is an error

• Could not deduce (Num a) arising from a use of ‘*’
from the context: Show a
bound by the type signature for:
showAreaOfCircle :: forall a. Show a => a -> String
at FirstStep.hs:20:1-41
Possible fix:
add (Num a) to the context of
the type signature for:
showAreaOfCircle :: forall a. Show a => a -> String
• In the first argument of ‘show’, namely ‘(pi * x * x)’
In the second argument of ‘(+)’, namely ‘show (pi * x * x)’
In the second argument of ‘(++)’, namely ‘" " + show (pi * x * x)’

I had tried to change the type declaration to
Show a => Num a => a -> String
i guess there must be a problem with pi.

Can someone help me with the error message? Great thanks

_______________________________________________
Beginners mailing list

--
Beauty of style and harmony and grace and good rhythm depend on simplicity. -
Plato
-------------- next part --------------
An HTML attachment was scrubbed...
URL:

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

Subject: Digest Footer

_______________________________________________
Beginners mailing list