вот щас прям протестировал на чистой винде
открыть консоль повершелла, с адм. правами
$ Set-ExecutionPolicy AllSigned
$ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('
https://chocolatey.org/install.ps1'))
$ cinst haskell-dev -y
$ cinst vscode -y
закрыть консоль и открыть снова такую же
$ code --install-extension haskell.haskell
$ mkdir test
$ cd test
$ cabal init
$ code .
давить в открывшемся вскоде Main.hs
подождать пока загрузится hls
все работает