paf31 / purescript-book

Sources for the PureScript book
454 stars 370 forks source link

Chapter 3 won't build on purs 0.11.6 #94

Open gbersac opened 7 years ago

gbersac commented 7 years ago

I can't compile the code for the third chapter. After running the following commands :

cd exercises/chapter3
git checkout 0.11.3
bower update
pulp build

J'ai le message d'erreur suivant :

* Building project in /Users/gbe/projects/purescript/purescript-book/exercises/chapter3
Error 1 of 4:

  at bower_components/purescript-arrays/src/Data/Array.purs line 168, column 1 - line 168, column 1

    Unable to parse module:
    unexpected comma in constraints.

Class constraints in type annotations can no longer be grouped in parentheses.
Each constraint should now be separated by `=>`, for example:
    `(Applicative f, Semigroup a) => a -> f a -> f a`
  would now be written as:
    `Applicative f => Semigroup a => a -> f a -> f a`.

    expecting indentation past column 1, (, qualifier, proper name, operator or ->

  See https://github.com/purescript/documentation/blob/master/errors/ErrorParsingModule.md for more information,
  or to contribute content related to this error.

Error 2 of 4:

  at bower_components/purescript-arrays/src/Data/Array/ST.purs line 34, column 34 - line 34, column 34

    Unable to parse module:
    The `*` symbol is no longer used for the kind of types.
  The new equivalent is the named kind `Type`.

  See https://github.com/purescript/documentation/blob/master/errors/ErrorParsingModule.md for more information,
  or to contribute content related to this error.

Error 3 of 4:

  at bower_components/purescript-proxy/src/Type/Proxy.purs line 55, column 21 - line 55, column 21

    Unable to parse module:
    The `*` symbol is no longer used for the kind of types.
  The new equivalent is the named kind `Type`.

  See https://github.com/purescript/documentation/blob/master/errors/ErrorParsingModule.md for more information,
  or to contribute content related to this error.

Error 4 of 4:

  at bower_components/purescript-strings/src/Data/String/Regex.purs line 29, column 1 - line 29, column 1

    Unable to parse module:
    The `*` symbol is no longer used for the kind of types.
  The new equivalent is the named kind `Type`.

  See https://github.com/purescript/documentation/blob/master/errors/ErrorParsingModule.md for more information,
  or to contribute content related to this error.

* ERROR: Subcommand terminated with exit code 1
grdryn commented 7 years ago

I was able to reproduce this, and the following fixed it (on the 0.11.3 branch, like you're using):

rm -rf bower_components/
bower install
pulp build

@gbersac does this work for you?

gbersac commented 7 years ago

@grdryn I stopped trying purescript so I won't test it sorry.

frenkan commented 7 years ago

@grdryn I had a similiar issue on the master branch. Checking out 0.11.3 and cleaning bower_components helped me.