В обычных веб-приложениях нет событий кликов. Вам нужны разные подходы, такие как raycasting, чтобы включить какую-то форму взаимодействия. Попробуйте использовать следующий пример в качестве шаблона стартера:
import Data.Char
countLowerUpper :: String -> (Int,Int)
countLowerUpper str = (lowerCount,upperCount)
where lowerCount = undefined
upperCount = undefined
Вы можете сделать это.