Send Beginners mailing list submissions to beginners@haskell.org 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 beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Count Words from File (A. Mc.) 2. Re: Count Words from File (Francesco Ariis) ---------------------------------------------------------------------- Message: 1 Date: Thu, 21 Jan 2021 09:49:03 -0800 From: "A. Mc." <47dragonf...@gmail.com> To: beginners@haskell.org Subject: [Haskell-beginners] Count Words from File Message-ID: <CAOsti3mkiq+z=cc3zsgskumzsf7jivptkncyacrfyc01exp...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" Hello, I apologize in advance if this is crossposting. My IRC client did not appear to be working properly. I am new to Haskell and I need to find a way to count specific words in a file. File could contain spaces between words, no spacing, uppercase, lowercase, etc so I've standardized it to once the file is taken in, convert to lowercase and remove the spacing. I've also read the postings about using ByteString instead of [Char] so I am trying to use that. But, as it still seems to either view all elements as fused or each letter as individual, I'm not entirely sure how to tackle this. The input after transforming would be something like "theblueskyisveryblue" for uniformity and would need to count "the" and "blue". Feels like I should be able to do a map and foldr(?) but I'm not sure how to get Haskell to recognize 'the' for example and not count all the t's, h's, e's etc in the file, nor am I entirely sure how to properly compose a map-fold for character arrays like this. Thanks in advance and thank you for your time. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.haskell.org/pipermail/beginners/attachments/20210121/56633de9/attachment-0001.html> ------------------------------ Message: 2 Date: Thu, 21 Jan 2021 18:53:12 +0100 From: Francesco Ariis <fa...@ariis.it> To: beginners@haskell.org Subject: Re: [Haskell-beginners] Count Words from File Message-ID: <20210121175312.GA23139@extensa> Content-Type: text/plain; charset=utf-8 Il 21 gennaio 2021 alle 09:49 A. Mc. ha scritto: > I am new to Haskell and I need to find a way to count specific words in a > file. File could contain spaces between words, no spacing, uppercase, > lowercase, etc so I've standardized it to once the file is taken in, > convert to lowercase and remove the spacing. I've also read the postings > about using ByteString instead of [Char] so I am trying to use that. But, > as it still seems to either view all elements as fused or each letter as > individual, I'm not entirely sure how to tackle this. The input after > transforming would be something like "theblueskyisveryblue" for uniformity > and would need to count "the" and "blue". Feels like I should be able to > do a map and foldr(?) but I'm not sure how to get Haskell to recognize > 'the' for example and not count all the t's, h's, e's etc in the file, nor > am I entirely sure how to properly compose a map-fold for character arrays > like this. Have you considered using `words`? λ> :t words words :: String -> [String] λ> words "Chiare, fresche e dolci acque" ["Chiare,","fresche","e","dolci","acque"] ------------------------------ Subject: Digest Footer _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners ------------------------------ End of Beginners Digest, Vol 150, Issue 10 ******************************************