Hello! Welcome to my mini-max Chess Engine.

To run my chess engine:

in the same directory as the mini-max.hs file,
run the command:

stack ghc -- -O2 -threaded -rtsopts -eventlog mini-max.hs

This will create an executable called:

./mini-max

as well as an eventlog that you can call threadscope on.

to run this executable with the proper parameters, you will
need to include:

- An algorithm ID (1,2,3,4,5)
- Depth 
- White (1) or black (-1)
- Alpha value
- Beta value

For example, to call mini-max with the miniMaxParGran
function on 4 cores, you would pass in the following command: 

./mini-max 4 3 1 -999 999 +RTS -s -N4   

here, 4 is the code for miniMaxParGran, 3 is the depth,
1 signifies you are playing for white, the alpha is set to
-999 while beta is set to 999.

Use the following code mappings:

1 == minimaxSeq
2 == minimaxSeqPrune
3 == minimaxParMap
4 == minimaxParGran
5 == minimaxParPrune

Happy Chess'ing!
