Use XMonad built from source under stand alone Haskell environment. Pre-installed Haskell is not required. You can install and use stack to build the source code.
git submodule init
git submodule update --recursive
stack install
git submodule foreach git pull origin master
stack install
Launch XMonad
exec xmonad
Build and restart XMonad
xmonad --compile && xmonad --restart
ln -s $(realpath .xinitrc) $Home/.xinitrc
We may need a HLS to make coding xmonad.hs
more comfortable.
Just install a collection of static HLS from AUR.
paru -S Haskell-language-server-static