Sha256: 23c986cb5cf86d678505a20d17350200230eb43949f3f7a735f952b68bc7d106

Contents?: true

Size: 632 Bytes

Versions: 396

Compression:

Stored size: 632 Bytes

Contents

module Scrabble (scoreLetter, scoreWord) where

import Data.Char (toUpper)
import Data.Map  (findWithDefault, fromList)

scoreLetter :: Num a => Char -> a
scoreLetter letter = findWithDefault 0 (toUpper letter) scoreMap
  where
    scoreMap   = fromList [(k,v) | (ks, v) <- scoreTable, k <- ks]
    scoreTable = [ ("AEIOULNRST",  1)
                 , ("DG"        ,  2)
                 , ("BCMP"      ,  3)
                 , ("FHVWY"     ,  4)
                 , ("K"         ,  5)
                 , ("JX"        ,  8)
                 , ("QZ"        , 10) ]

scoreWord :: Num a => String -> a
scoreWord = sum . map scoreLetter

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.179 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.178 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.177 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.176 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.175 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.174 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.173 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.172 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.171 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.170 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.169 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.167 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.166 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.165 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.164 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.163 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.162 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.161 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs
trackler-2.2.1.160 tracks/haskell/exercises/scrabble-score/examples/success-standard/src/Scrabble.hs