phoityne / haskell-debug-adapter

Debug Adapter for Haskell debugging system.
https://hackage.haskell.org/package/haskell-debug-adapter
BSD 3-Clause "New" or "Revised" License
54 stars 8 forks source link

stack fails to install #4

Closed mouse07410 closed 5 years ago

mouse07410 commented 5 years ago

MacOS 10.14.4, Xcode-10.2.1, ghcup-installed GHC-8.6.5 (have other versions, if necessary).

$ stack install haskell-debug-adapter
WARNING: Ignoring out of range dependency (allow-newer enabled): base-4.12.0.0. free requires: ==4.* && <4.11
WARNING: Ignoring out of range dependency (allow-newer enabled): containers-0.6.0.1. free requires: <0.6

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for haskell-debug-adapter-0.0.31.0:
    haskell-dap must match >=0.0.12.0, but the stack configuration has no specified version  (latest
                matching version is 0.0.13.0)
needed since haskell-debug-adapter is a build target.

Some different approaches to resolving this:

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working
    build configuration. This can be convenient when dealing with many complicated constraint errors, but
    results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps
    in /Users/ur20980/.stack/global-project/stack.yaml:

haskell-dap-0.0.13.0@sha256:1bf5faf30b4b5e1e12576a3c52368b16bdaec2d57538c5b8544cede12b4216f9

Plan construction failed.
$

Following the above recommendation and adding haskell-dap to ~/.stack/global-project/stack.yaml leads to Monad problem in free-4.12.4:

$ stack install haskell-debug-adapter
WARNING: Ignoring out of range dependency (allow-newer enabled): base-4.12.0.0. free requires: ==4.* && <4.11
WARNING: Ignoring out of range dependency (allow-newer enabled): containers-0.6.0.1. free requires: <0.6
free-4.12.4: configure
free-4.12.4: build
Progress 1/5

--  While building package free-4.12.4 using:
      /Users/ur20980/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.4 --builddir=.stack-work/dist/x86_64-osx/Cabal-2.4.0.1 build --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
    Logs have been written to: /Users/ur20980/.stack/global-project/.stack-work/logs/free-4.12.4.log

    Configuring free-4.12.4...
    Preprocessing library for free-4.12.4..
    Building library for free-4.12.4..
    [ 1 of 16] Compiling Control.Alternative.Free ( src/Control/Alternative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Alternative/Free.hs:34:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    34 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 2 of 16] Compiling Control.Alternative.Free.Final ( src/Control/Alternative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free/Final.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Alternative/Free/Final.hs:25:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    25 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 3 of 16] Compiling Control.Applicative.Free ( src/Control/Applicative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free.o )
    [ 4 of 16] Compiling Control.Applicative.Free.Final ( src/Control/Applicative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free/Final.o )
    [ 5 of 16] Compiling Control.Applicative.Trans.Free ( src/Control/Applicative/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Trans/Free.o )
    [ 6 of 16] Compiling Control.Comonad.Cofree.Class ( src/Control/Comonad/Cofree/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree/Class.o )
    [ 7 of 16] Compiling Control.Comonad.Cofree ( src/Control/Comonad/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree.o )
    [ 8 of 16] Compiling Control.Comonad.Trans.Cofree ( src/Control/Comonad/Trans/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Cofree.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Comonad/Trans/Cofree.hs:46:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    46 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 9 of 16] Compiling Control.Comonad.Trans.Coiter ( src/Control/Comonad/Trans/Coiter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Coiter.o )
    [10 of 16] Compiling Control.Monad.Free.Class ( src/Control/Monad/Free/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Class.o )
    [11 of 16] Compiling Control.Monad.Free.TH ( src/Control/Monad/Free/TH.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/TH.o )
    [12 of 16] Compiling Control.Monad.Trans.Free ( src/Control/Monad/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Monad/Trans/Free.hs:72:1: warning: [-Wunused-imports]
        The import of ‘Data.Monoid’ is redundant
          except perhaps to import instances from ‘Data.Monoid’
        To import instances alone, use: import Data.Monoid()
       |
    72 | import Data.Monoid
       | ^^^^^^^^^^^^^^^^^^
    [13 of 16] Compiling Control.Monad.Free ( src/Control/Monad/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free.o )
    [14 of 16] Compiling Control.Monad.Free.Church ( src/Control/Monad/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Church.o )
    [15 of 16] Compiling Control.Monad.Trans.Free.Church ( src/Control/Monad/Trans/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free/Church.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:83:10: warning: [-Wsimplifiable-class-constraints]
        • The constraint ‘Eq (FreeT f m a)’ matches an instance declaration
          instance [safe] Eq (m (FreeF f a (FreeT f m a))) =>
                          Eq (FreeT f m a)
            -- Defined at src/Control/Monad/Trans/Free.hs:182:1
          This makes type inference for inner bindings fragile;
            either use MonoLocalBinds, or simplify it using the instance
        • In the context: (Functor f, Monad m, Eq (FreeT f m a))
          While checking an instance declaration
          In the instance declaration for ‘Eq (FT f m a)’
       |
    83 | instance (Functor f, Monad m, Eq (FreeT f m a)) => Eq (FT f m a) where
       |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:86:10: warning: [-Wsimplifiable-class-constraints]
        • The constraint ‘Ord (FreeT f m a)’
            matches an instance declaration
          instance [safe] Ord (m (FreeF f a (FreeT f m a))) =>
                          Ord (FreeT f m a)
            -- Defined at src/Control/Monad/Trans/Free.hs:187:1
          This makes type inference for inner bindings fragile;
            either use MonoLocalBinds, or simplify it using the instance
        • In the context: (Functor f, Monad m, Ord (FreeT f m a))
          While checking an instance declaration
          In the instance declaration for ‘Ord (FT f m a)’
       |
    86 | instance (Functor f, Monad m, Ord (FreeT f m a)) => Ord (FT f m a) where
       |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [16 of 16] Compiling Control.Monad.Trans.Iter ( src/Control/Monad/Trans/Iter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Iter.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack1390/free-4.12.4/src/Control/Monad/Trans/Iter.hs:391:10: error:
        • Could not deduce (Semigroup (IterT m a))
            arising from the superclasses of an instance declaration
          from the context: (Monad m, Monoid a)
            bound by the instance declaration
            at src/Control/Monad/Trans/Iter.hs:391:10-50
        • In the instance declaration for ‘Monoid (IterT m a)’
        |
    391 | instance (Monad m, Monoid a) => Monoid (IterT m a) where
        |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

$
phoityne commented 5 years ago

When using haskell-debug-adapter, install 3 library at once.

> stack install haskell-dap ghci-dap haskell-debug-adapter

I have tried with lts-13.20(ghc-8.6.5) on Windows10. For this case, free-5.1.1 was installed.

free-4.12.4 is included in LTS 9.21. Is there a resolver definition using lts-9 in global stack.yaml ? ~/.stack/global-project/stack.yaml

Regards.

mouse07410 commented 5 years ago

Changing the resolver from LTS-13.15 to LTS-13.20 seemed to address the problem, at least on one machine. Testing on other machines as we speak.

Update

On one machine (with resolver remaining set to LTS-13.2) the above installation succeeded. On another one, with resolver set to LTS-13.20, it failed. I blew the snapshot rm -rf ~/.stack/snapshots/x86_64-osx/lts-13.20/* and tried again. Same thing - it still tries to build free-4.12.4 because apparently something (I wonder what?) seems to require it:

$ stack install haskell-dap ghci-dap haskell-debug-adapter
WARNING: Ignoring out of range dependency (allow-newer enabled): base-4.12.0.0. free requires: ==4.* && <4.11
WARNING: Ignoring out of range dependency (allow-newer enabled): containers-0.6.0.1. free requires: <0.6
attoparsec-0.13.2.2: unregistering
ghc-paths-0.1.0.9: unregistering (missing dependencies: Cabal)
haskell-dap-0.0.13.0: unregistering (missing dependencies: ghc-paths, haskeline)
resourcet-1.2.2: unregistering
scientific-0.3.6.2: unregistering
semigroupoids-5.3.2: unregistering
Cabal-2.4.1.0: using precompiled package
base-compat-0.10.5: using precompiled package
base-orphans-0.8.1: using precompiled package
call-stack-0.1.0: using precompiled package
StateVar-1.1.1.1: using precompiled package
cereal-0.5.8.0: using precompiled package
clock-0.7.2: using precompiled package
cmdargs-0.10.20: using precompiled package
dlist-0.8.0.6: using precompiled package
hashable-1.2.7.0: using precompiled package
data-default-class-0.1.2.0: using precompiled package
integer-logarithms-1.0.3: using precompiled package
old-locale-1.0.0.7: using precompiled package
parallel-3.2.2.0: using precompiled package
random-1.1: using precompiled package
reflection-2.1.4: using precompiled package
semigroups-0.18.5: using precompiled package
network-2.8.0.1: configure
cabal-doctest-1.0.6: using precompiled package                                                 split-0.2.3.3: using precompiled package                                                       HUnit-1.6.0.0: using precompiled package                                                     tagged-0.8.6: using precompiled package                                                          th-abstraction-0.2.11.0: using precompiled package                                             time-locale-compat-0.1.1.5: using precompiled package                                          async-2.2.1: using precompiled package                                                         data-default-instances-containers-0.0.1: using precompiled package                             data-default-instances-dlist-0.0.1: using precompiled package                                  data-default-instances-old-locale-0.0.1: using precompiled package                             old-time-1.1.0.3: using precompiled package                                                    transformers-compat-0.6.4: using precompiled package                                           unix-compat-0.5.1: using precompiled package                                                   uuid-types-1.0.3: using precompiled package                                                    distributive-0.6: using precompiled package                                                    zlib-0.6.2: using precompiled package                                                          typed-process-0.2.4.0: using precompiled package                                               data-default-0.7.1.1: using precompiled package                                                network-2.8.0.1: build                                                                         regex-base-0.93.2: configure                                                                   regex-base-0.93.2: build                                                                       haskeline-0.7.5.0: configure                                                                   haskeline-0.7.5.0: build                                                                       ghc-paths-0.1.0.9: configure                                                                   regex-base-0.93.2: copy/register                                                               ghc-paths-0.1.0.9: build                                                                       contravariant-1.5.1: configure                                                                 ghc-paths-0.1.0.9: copy/register                                                               contravariant-1.5.1: build                                                                     hfsevents-0.1.6: configure                                                                     hfsevents-0.1.6: build                                                                         scientific-0.3.6.2: configure                                                                  contravariant-1.5.1: copy/register                                                             scientific-0.3.6.2: build                                                                      unliftio-core-0.1.2.0: configure                                                               network-2.8.0.1: copy/register                                                                 hfsevents-0.1.6: copy/register                                                                 unliftio-core-0.1.2.0: build                                                                   unordered-containers-0.2.9.0: configure                                                        unliftio-core-0.1.2.0: copy/register                                                           unordered-containers-0.2.9.0: build                                                            vector-algorithms-0.8.0.1: configure                                                           vector-algorithms-0.8.0.1: build                                                               exceptions-0.10.2: configure                                                                   exceptions-0.10.2: build                                                                       comonad-5.0.5: configure                                                                       scientific-0.3.6.2: copy/register                                                              exceptions-0.10.2: copy/register                                                               comonad-5.0.5: build                                                                           regex-posix-0.95.2: configure                                                                  regex-posix-0.95.2: build                                                                      hslogger-1.2.12: configure                                                                     hslogger-1.2.12: build                                                                         streaming-commons-0.2.1.0: configure                                                           streaming-commons-0.2.1.0: build                                                               fsnotify-0.3.0.1: configure                                                                    comonad-5.0.5: copy/register                                                                   haskeline-0.7.5.0: copy/register                                                               fsnotify-0.3.0.1: build                                                                        attoparsec-0.13.2.2: configure                                                                 hslogger-1.2.12: copy/register                                                                 attoparsec-0.13.2.2: build                                                                     safe-exceptions-0.1.7.0: configure                                                             regex-posix-0.95.2: copy/register                                                              unordered-containers-0.2.9.0: copy/register                                                    safe-exceptions-0.1.7.0: build                                                                 resourcet-1.2.2: configure                                                                     fsnotify-0.3.0.1: copy/register                                                                resourcet-1.2.2: build                                                                         bifunctors-5.5.4: configure                                                                    safe-exceptions-0.1.7.0: copy/register                                                         bifunctors-5.5.4: build                                                                        haskell-dap-0.0.13.0: configure                                                                haskell-dap-0.0.13.0: build                                                                    regex-compat-0.95.1: configure                                                                 resourcet-1.2.2: copy/register                                                                 streaming-commons-0.2.1.0: copy/register                                                       regex-compat-0.95.1: build                                                                     regex-compat-0.95.1: copy/register                                                             MissingH-1.4.1.0: configure                                                                    MissingH-1.4.1.0: build                                                                        bifunctors-5.5.4: copy/register                                                                profunctors-5.3: configure                                                                     profunctors-5.3: build                                                                         semigroupoids-5.3.2: configure                                                                 semigroupoids-5.3.2: build                                                                     profunctors-5.3: copy/register                                                                 invariant-0.5.3: configure                                                                     vector-algorithms-0.8.0.1: copy/register                                                       invariant-0.5.3: build                                                                         mono-traversable-1.0.11.0: configure                                                           MissingH-1.4.1.0: copy/register                                                                mono-traversable-1.0.11.0: build                                                               semigroupoids-5.3.2: copy/register                                                             attoparsec-0.13.2.2: copy/register                                                             free-4.12.4: configure                                                                         invariant-0.5.3: copy/register                                                                 free-4.12.4: build                                                                             aeson-1.4.2.0: configure                                                                   
aeson-1.4.2.0: build                                                                       
mono-traversable-1.0.11.0: copy/register                                                   
haskell-dap-0.0.13.0: copy/register                                           
aeson-1.4.2.0: copy/register                       
Progress 64/71               

--  While building package free-4.12.4 using:
      /Users/ur20980/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.5 --builddir=.stack-work/dist/x86_64-osx/Cabal-2.4.0.1 build --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
    Logs have been written to: /Users/ur20980/.stack/global-project/.stack-work/logs/free-4.12.4.log

    Configuring free-4.12.4...
    Preprocessing library for free-4.12.4..
    Building library for free-4.12.4..
    [ 1 of 16] Compiling Control.Alternative.Free ( src/Control/Alternative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Alternative/Free.hs:34:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    34 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 2 of 16] Compiling Control.Alternative.Free.Final ( src/Control/Alternative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Alternative/Free/Final.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Alternative/Free/Final.hs:25:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    25 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 3 of 16] Compiling Control.Applicative.Free ( src/Control/Applicative/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free.o )
    [ 4 of 16] Compiling Control.Applicative.Free.Final ( src/Control/Applicative/Free/Final.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Free/Final.o )
    [ 5 of 16] Compiling Control.Applicative.Trans.Free ( src/Control/Applicative/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Applicative/Trans/Free.o )
    [ 6 of 16] Compiling Control.Comonad.Cofree.Class ( src/Control/Comonad/Cofree/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree/Class.o )
    [ 7 of 16] Compiling Control.Comonad.Cofree ( src/Control/Comonad/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Cofree.o )
    [ 8 of 16] Compiling Control.Comonad.Trans.Cofree ( src/Control/Comonad/Trans/Cofree.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Cofree.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Comonad/Trans/Cofree.hs:46:1: warning: [-Wunused-imports]
        The import of ‘Data.Semigroup’ is redundant
          except perhaps to import instances from ‘Data.Semigroup’
        To import instances alone, use: import Data.Semigroup()
       |
    46 | import Data.Semigroup
       | ^^^^^^^^^^^^^^^^^^^^^
    [ 9 of 16] Compiling Control.Comonad.Trans.Coiter ( src/Control/Comonad/Trans/Coiter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Comonad/Trans/Coiter.o )
    [10 of 16] Compiling Control.Monad.Free.Class ( src/Control/Monad/Free/Class.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Class.o )
    [11 of 16] Compiling Control.Monad.Free.TH ( src/Control/Monad/Free/TH.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/TH.o )
    [12 of 16] Compiling Control.Monad.Trans.Free ( src/Control/Monad/Trans/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free.hs:72:1: warning: [-Wunused-imports]
        The import of ‘Data.Monoid’ is redundant
          except perhaps to import instances from ‘Data.Monoid’
        To import instances alone, use: import Data.Monoid()
       |
    72 | import Data.Monoid
       | ^^^^^^^^^^^^^^^^^^
    [13 of 16] Compiling Control.Monad.Free ( src/Control/Monad/Free.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free.o )
    [14 of 16] Compiling Control.Monad.Free.Church ( src/Control/Monad/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Free/Church.o )
    [15 of 16] Compiling Control.Monad.Trans.Free.Church ( src/Control/Monad/Trans/Free/Church.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Free/Church.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:83:10: warning: [-Wsimplifiable-class-constraints]
        • The constraint ‘Eq (FreeT f m a)’ matches an instance declaration
          instance [safe] Eq (m (FreeF f a (FreeT f m a))) =>
                          Eq (FreeT f m a)
            -- Defined at src/Control/Monad/Trans/Free.hs:182:1
          This makes type inference for inner bindings fragile;
            either use MonoLocalBinds, or simplify it using the instance
        • In the context: (Functor f, Monad m, Eq (FreeT f m a))
          While checking an instance declaration
          In the instance declaration for ‘Eq (FT f m a)’
       |
    83 | instance (Functor f, Monad m, Eq (FreeT f m a)) => Eq (FT f m a) where
       |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Free/Church.hs:86:10: warning: [-Wsimplifiable-class-constraints]
        • The constraint ‘Ord (FreeT f m a)’
            matches an instance declaration
          instance [safe] Ord (m (FreeF f a (FreeT f m a))) =>
                          Ord (FreeT f m a)
            -- Defined at src/Control/Monad/Trans/Free.hs:187:1
          This makes type inference for inner bindings fragile;
            either use MonoLocalBinds, or simplify it using the instance
        • In the context: (Functor f, Monad m, Ord (FreeT f m a))
          While checking an instance declaration
          In the instance declaration for ‘Ord (FT f m a)’
       |
    86 | instance (Functor f, Monad m, Ord (FreeT f m a)) => Ord (FT f m a) where
       |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [16 of 16] Compiling Control.Monad.Trans.Iter ( src/Control/Monad/Trans/Iter.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Control/Monad/Trans/Iter.o )

    /private/var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/stack89989/free-4.12.4/src/Control/Monad/Trans/Iter.hs:391:10: error:
        • Could not deduce (Semigroup (IterT m a))
            arising from the superclasses of an instance declaration
          from the context: (Monad m, Monoid a)
            bound by the instance declaration
            at src/Control/Monad/Trans/Iter.hs:391:10-50
        • In the instance declaration for ‘Monoid (IterT m a)’
        |
    391 | instance (Monad m, Monoid a) => Monoid (IterT m a) where
        |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

$

Update 2

Never mind - it was stuck at a specific level in ~/.stack/global-project/stack.yaml. Probably something previously-installed needed it. I removed that line, and free-5.1.1 got installed. Build succeeded.

How often should one clean up ~/.stack/global-project/stack.yaml, removing extra-deps: from it?

phoityne commented 5 years ago

On windows, I don't edit global stack.yaml. Just edit stack.yaml in the stack project folder.

Very rarely, editing global stack.yaml, but only define resolver lts. (although in my case.)

Regards.

mouse07410 commented 5 years ago

Also, your README says to add --with-ghc=haskell-dap flag to ghciCmd variable. Is this still recommended/required?

phoityne commented 5 years ago

Also, your README says to add --with-ghc=haskell-dap flag to ghciCmd variable. Is this still recommended/required?

Yes. Current version, phoityne-vscode + haskell-dap is recommended.

And next version(preparing), going to be haskell-debug-adapter + ghci-dap (--with-ghc=ghci-dap)

Regards

mouse07410 commented 5 years ago

Alas, --with-ghc=haskell-dap does not work with the current code. Please see https://github.com/phoityne/haskell-debug-adapter/issues/6 - let's continue this conversation there. Thanks!