Files
grokking_algorithms/05_hash_tables/Haskell/02_check_voter.hs
Bijoy Thomas 6f78bdf3d7 Adding Haskell examples (#17)
* Adding binary search example for Haskell

* Adding selection sort example in Haskell

* Adding Haskell examples for chapter 3

* Adding examples for chapter 4

* Adding examples for chapter 5

* Adding git ignore

* Add Haskell example for BFS
2017-06-11 19:12:48 -04:00

17 lines
516 B
Haskell

import qualified Data.HashMap.Strict as Map
all_voters = Map.fromList[("tom", True), ("mike", True)]
check_voter name voters_map = case Map.lookup name voters_map of
Just _ -> ("kick them out!", voters_map)
otherwise -> ("let them vote!", Map.insert name True voters_map)
log_vote name voters_map = do
putStrLn str
return new_voters_map
where (str, new_voters_map) = check_voter name voters_map
main = do
try_mike <- log_vote "mike" all_voters
try_john <- log_vote "john" try_mike
return try_john