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
This commit is contained in:
committed by
Aditya Bhargava
parent
c5c2563d05
commit
6f78bdf3d7
5
05_hash_tables/Haskell/01_price_of_groceries.hs
Normal file
5
05_hash_tables/Haskell/01_price_of_groceries.hs
Normal file
@@ -0,0 +1,5 @@
|
||||
import qualified Data.HashMap.Strict as Map
|
||||
|
||||
prices = Map.fromList [("Apple", 0.67), ("Milk", 1.49), ("Avocado", 1.55)]
|
||||
|
||||
main = putStrLn (show (Map.lookup "Apple" prices))
|
||||
17
05_hash_tables/Haskell/02_check_voter.hs
Normal file
17
05_hash_tables/Haskell/02_check_voter.hs
Normal file
@@ -0,0 +1,17 @@
|
||||
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
|
||||
Reference in New Issue
Block a user