Determine if a word or phrase is an isogram.
An isogram (also known as a "non-pattern word") is a word or phrase without a repeating letter, however spaces and hyphens are allowed to appear multiple times.
Examples of isograms:
The word isograms, however, is not an isogram, because the s repeats.
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
Read about string types in Haskell.
Add - text
to your list of dependencies in package.yaml.
Import Data.Text
in the following way:
import qualified Data.Text as T
import Data.Text (Text)
You can now write e.g. isIsogram :: Text -> Bool
and refer to Data.Text
combinators as e.g. T.toLower
.
Look up the documentation for Data.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.