Raindrops is a slightly more complex version of the FizzBuzz challenge, a classic interview question.
Your task is to convert a number into its corresponding raindrop sounds.
If a given number:
"Plong"
."PlingPlang"
."34"
.You need to implement the convert
function that returns number converted to
raindrop sound. You can use the provided signature if you are unsure
about the types, but don't let it restrict your creativity:
convert :: Int -> String
This exercise works with textual data. For historical reasons, Haskell's
String
type is synonymous with [Char]
, a list of characters. For more
efficient handling of textual data, the Text
type can be used.
As an optional extension to this exercise, you can
- text
to your list of dependencies in package.yaml.Data.Text
in the following way:import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text
and refer to Data.Text
combinators as e.g. T.pack
.Data.Text
,String
with Text
in Raindrops.hs:convert :: Int -> Text
This part is entirely optional.
Sign up to Exercism to learn and master Haskell with 107 exercises, and real human mentoring, all for free.
Explore solutions using functional pipelines, matrix multiplication, a precalculated table-based solutions using a macro, an Object Oriented approach, some impressive use of both Python and TCL, and an enterprise edition.