haskellcompilationnixghcjshaskell-miso

Faster compilation for Haskell Miso


I use the Haskell Miso framework to write frontend web apps and the Nix compilation process takes a long time.

How can I speed it up?

Or what is the recommended approach to have a near instantaneous edit-compile-run cycle?


Solution

  • (Credit goes to NickSeagull)

    For faster edit-compile-run cycle it is recommended to use GHCJSi as follows.

    First, enter the Nix configured shell environment:

    nix-shell -A env
    

    Then, enter the GHCJSi shell:

    cabal configure --ghcjs
    cabal repl
    

    GHCJSi starts up a web server. You should immediately connect to it from the web browser via http://localhost:6400/

    From the GHCJSi shell--and everytime Main.hs changes--recompile and send the new code to the browser:

    > import Miso.Dev  # Once
    > :r
    > clearBody >> main
    

    The UI in the web browser will now update automatically with the new code. Happy hacking!

    Example project