haskellhaskell-stackghcjs

Initializing a new GHCJS project using the Haskell Tool Stack


What do I need to do to initialize a GHCJS project using Haskell Stack?

Following the stack documentation I am trying to initialize a GHCJS project so that I can compile Haskell code to JavaScript.

After doing stack templates I see there is a GHCJS template

ghcjs - Haskell to JavaScript compiler, based on GHC

When I try using the new command with this template like this:

stack new ghcjsSetup ghcjs

I get this error message:

Downloading template "ghcjs" to create project "ghcjsSetup" in ghcjsSetup/ ...

The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username
You can provide them in /home/u/.stack/config.yaml, like this:
templates:
  params:
    author-email: value
    author-name: value
    category: value
    copyright: value
    github-username: value
Or you can pass each one as parameters like this:
stack new ghcjsSetup ghcjs -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value"

Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ghcjsSetup/ghcjsSetup.cabal

Selecting the best among 11 snapshots...

* Partially matches lts-9.11
    ghcjs-base not found
        - ghcjsSetup requires -any

Downloaded nightly-2017-11-01 build plan.    
Unable to parse cabal file: FromString "This package requires at least Cabal version 2.0" Nothing

Solution

  • I've got the same error recently. Apparently you've got an old version of stack. You need to upgrade it to version >= 1.5.1. This error occurs because of some file format changes in Cabal ver. 2.0 as I think.