* 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
17 lines
516 B
Haskell
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 |