New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Stackage LTS Haskell 10.7 #240

merged 2 commits into from Mar 3, 2018


None yet
3 participants

dahlia commented Mar 1, 2018

This PR is a retrial of PR #214, which ended up unsuccessful. Since the patch became more complicated in the end than I'd expected, here some points I give you:

  • The biggest change is the compiler version: from GHC 8.0.2 to 8.2.2. This made several changes necessary.
  • I had to give an -optP-Wno-nonportable-include-path option to ghc-options on macOS to work around Cabal's this bug: haskell/cabal#4739. See also a comment I left in package.yaml.
  • I had to move test/HSpec.hs file to the root of the repository to work around Stack's this bug: commercialhaskell/stack#3582.
  • I had to make duplicate -Wall flags to ghc-options for many library/executables/tests entries to give an -Wno-missing-signatures option to ghc-options for spec test (it's an entry for unit tests). The global -Wall flag seems to override all entry-local -Wno-* flags. -Wno-missing-signatures is basically only for the spec test entry.
  • A tiresome problem that AppVeyor builds had failed with “you don't have permission to modify this file” error message became finally fixed. This is a GHC's bug related to concurrent Windows I/O and was fixed in GHC 8.2. (See also commercialhaskell/stack#2617.)
  • Megaparsec is also upgraded from 5 to 6, which changed some error types.
  • GHC 8.2 introduced a -fhide-source-paths option so I applied it to stack.yaml.

@dahlia dahlia self-assigned this Mar 1, 2018

@dahlia dahlia requested a review from kanghyojun Mar 1, 2018


This comment has been minimized.

checkmate-bot commented Mar 1, 2018

Checklist 🤔


  • If a new reserved keyword is introduced, it has to be also added to reservedKeywords set in the Nirum.Constructs.Identifier module.


  • If we change the minimum version of Stack the download URLs in appveyor.yml file also should be updated.

This comment has been minimized.


kanghyojun commented Mar 2, 2018

I will review this PR at weekend.

dahlia added some commits Jan 20, 2018

Fix broken build on Windows
> Error: While constructing the build plan, the following exceptions were encountered:
> In the dependencies for turtle-1.4.5:
>     Win32- from stack configuration does not match >= && <2.4 (latest matching version
>                   is
> needed due to nirum-0.3.0 -> turtle-1.4.5
> Some potential ways to resolve this:
>   * Recommended action: try adding the following to your extra-deps
>     in C:\projects\nirum-k5n5y\stack.yaml:
> - Win32-
>   * Set 'allow-newer: true' to ignore all version constraints and build anyway.
>   * You may also want to try using the 'stack solver' command.
> Plan construction failed.

[changelog skip]

This comment has been minimized.


dahlia commented Mar 3, 2018

@admire93 All builds are now passed. Could you review this?



# - ignore: {name: Use let}
# - ignore: {name: Use const, within: SpecialModule} # Only within certain modules
- ignore:
name: Reduce duplication

This comment has been minimized.


@dahlia dahlia merged commit d80195a into nirum-lang:master Mar 3, 2018

4 checks passed

codecov/patch No report found to compare against
codecov/project No report found to compare against
continuous-integration/appveyor/pr AppVeyor build succeeded
continuous-integration/travis-ci/pr The Travis CI build passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment