Skip to content

Simple Rock Paper Scissors in Haskell. This project uses multiple branches to explore different implementations of features, for example using tVars vs mVars vs tMVars for concurrency.

License

Notifications You must be signed in to change notification settings

ChrisHobday/RPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RPS

Simple Rock Paper Scissors in Haskell

Stack

This project uses The Haskell Tool Stack.

Info

I am creating this simple version of Rock Paper Scissors in Haskell for learning purposes.

Things I Expect To Learn

  1. Basic Haskell usage
  2. Timers (via 3,2,1 countdown). Implemented threadDelay from Control.Concurrent
  3. Randomness (via basic AI sign choice). Implemented randomRIO from System.Random
  4. Async (via concurrent AI and Player sign selection). Implemented ioRefs, mVars, tVars and tMVars from Control.Concurrent/Control.Concurrent.STM in their own branches
  5. Server/Client (via 2 player networking)

About

Simple Rock Paper Scissors in Haskell. This project uses multiple branches to explore different implementations of features, for example using tVars vs mVars vs tMVars for concurrency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published