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. Nested folds (Pietro Grandinetti)
----------------------------------------------------------------------
Message: 1
Date: Sun, 13 Dec 2020 10:39:36 +0000
From: Pietro Grandinetti <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [Haskell-beginners] Nested folds
Message-ID:
<pr2pr09mb3003c776f4a3f6bb4b369967fc...@pr2pr09mb3003.eurprd09.prod.outlook.com>
Content-Type: text/plain; charset="iso-8859-1"
Hello,
I have a piece of code to represents Sentences, Paragraphs and the Content of
an article. I added functions to count the words, code below. My questions:
1- Are these functions idiomatic?
2- Is this an efficient way to do the computation?
3- In different languages, I could (and would) give the same name `wordCount`
to the three functions, because the type of the input would clarify the usage.
But here GHC throws an error. What's the most idiomatic way to do this in
Haskell?
type Sentence = String
type Paragraph = [Sentence]
type Content = [Paragraph]
sentWordCount :: Sentence -> Int
sentWordCount = length . words
parWordCount :: Paragraph -> Int
parWordCount = foldr ((+) . sentWordCount) 0
contWordCount :: Content -> Int
contWordCount = foldr ((+) . parWordCount) 0
I also have two more practical questions on the following two functions:
makeSentence :: String -> Sentence
makeSentence x = x::Sentence
sentCharCount :: Sentence -> Int
sentCharCount x = length $ filter (/= ' ') x
4- About `makeSentence` -- does it make sense to write a function like that
just to encapsulate the String type?
5- About `sentCharCount` -- I cannot take the argument x off, the compilator
complains. What's the reason?
Thanks,
-P
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.haskell.org/pipermail/beginners/attachments/20201213/96dbb0a4/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 149, Issue 6
*****************************************