Personally, I think an engine written in Haskell would be more interesting. Given how ridiculously strong some engines are when running on commodity hardware, a little performance hit wouldn't be the end of the world.
Implementation: https://bitbucket.org/MichaelBurge/shogi/src/f2370832b328ae1...
Tests: https://bitbucket.org/MichaelBurge/shogi/src/f2370832b328ae1...
The code & style are pretty similar between the Haskell and the C. I found the C easier to write: The C engine was written and debugged within about 3 days, while the Haskell Shogi engine has a couple weeks of commits.