Haskell-Rush-Hour Rush Hour game solver in Haskell ( with A*) Implemented for Principles Of Programming Languages 2017-2018 UOA