Installing pGenie on Windows¶
There are two ways to install pGenie on Windows: downloading a pre-built binary or building from source.
Option 1 — Pre-built Binary¶
A pre-built binary for Windows (x86-64) is available on the pGenie releases page. The binary is a standalone .exe file.
-
Download the latest binary from the releases page:
-
Move
pgn.exeto a directory on yourPATH. A common choice isC:\tools\or any directory you have already added to your userPATH. You can also add its current location to yourPATHvia the System Properties dialog or your PowerShell profile: -
Verify the installation (open a new terminal after updating
PATH):
Option 2 — From Source¶
Building from source gives you full control.
Stack¶
Stack manages the compiler and dependencies entirely on its own, making it the fastest path to building pGenie from source. No separate toolchain installation is required.
Install Stack¶
Download and run the Stack installer for Windows from the official Stack installation guide, or use Scoop:
Build and install pGenie¶
-
Clone the repository:
-
Install the
pgnexecutable:Stack will download the required GHC version automatically if needed, compile pGenie, and install the
pgnbinary into%APPDATA%\stack\bin. -
Ensure
%APPDATA%\stack\binis on yourPATH. Add it via the System Properties dialog or your PowerShell profile: -
Verify the installation (open a new terminal after updating
PATH):
Cabal¶
Cabal is the standard Haskell build tool. It requires a GHC compiler to be installed separately, which you can obtain via GHCup.
Prerequisites¶
Download and run the GHCup installer for Windows from get-ghcup.haskell.org. The installer will set up GHC and Cabal.
Build and install pGenie¶
-
Clone the repository:
-
Install the
pgnexecutable:Cabal will compile pGenie and install the
pgnbinary into%APPDATA%\cabal\bin. -
Ensure
%APPDATA%\cabal\binis on yourPATH. Add it via the System Properties dialog or your PowerShell profile: -
Verify the installation (open a new terminal after updating
PATH):
Docker Requirement¶
Install Docker Desktop and ensure the Docker daemon is running before invoking pgn.