Skip to content
/ trout Public

License

Notifications You must be signed in to change notification settings

Osrepnay/trout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

de95de7 · · Jul 12, 2025

History

271 Commits
Jun 26, 2025
Jul 8, 2025
Jul 12, 2025
Jul 1, 2025
Jun 24, 2025
Sep 16, 2022
Jan 17, 2023
Sep 15, 2022
Sep 15, 2022
Jul 11, 2025
Jun 13, 2024
Jul 12, 2025
Jun 24, 2025
Jun 24, 2025
Jul 12, 2025
Jul 4, 2025

Repository files navigation

trout

Challenge me on Lichess! Play me in the browser (locally)!

A chess engine (my third attempt) in Haskell. Two other decent Haskell engines I've found are turncoat and Barbarossa, check them out!

I think this is the second-strongest Haskell chess engine? It can beat turncoat pretty handily under my conditions but probably not Barbarossa. Not bad!d!

The end goal for this engines is for it to be "superhuman", but that's still a ways away. It can beat me though. Does that speak to my weakness or the engine's strength? Who knows? (it's my weakness)s)

Features

  • Magic bitboards
  • Principal variation search
  • Null move pruning
  • Reverse futility pruning
  • Late move reductions
  • Check extensions
  • Quiescence search
  • Transposition table move ordering
  • Killer heuristic move ordering
  • History heuristic move ordering
  • Static exchange evaluation move ordering
  • PeSTO PST + mobility + king safety eval
  • En passant

Running

Install Stack (like through GHCup) and run stack run.

The executable is... somewhere in the .stack-work directory after running or building.

Alternatively, I think you might be able to run the project with cabal only using stack's generated trout.cabal? It should work but I don't use cabal personally so YMMV..

Limitations

  • Plays weird
  • Bad time management; isn't super precise with stopping search and simplistic time management "algorithm"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published