wz1000 / HieDb

Generates a references DB from .hie files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hiedb does not compile with stack lts-21.0 (ghc-9.4.5)

ciukstar opened this issue · comments

hiedb does not compile with stack lts-21.0 (ghc-9.4.5)
See error log below:

....
....
hiedb                             >                                                 
hiedb                             > /tmp/stack-d669184d5bfe0031/hiedb-0.4.3.0/src/HieDb/Query.hs:270:54: error:
hiedb                             >     • Couldn't match expected type: AdjacencyMap a1
hiedb                             >                   with actual type: [a]         
hiedb                             >     • In the first argument of ‘dfs’, namely ‘vs’
hiedb                             >       In the first argument of ‘Set.fromList’, namely ‘(dfs vs m)’
hiedb                             >       In the expression: Set.fromList (dfs vs m)
hiedb                             >     • Relevant bindings include                 
hiedb                             >         s :: Set a1 (bound at src/HieDb/Query.hs:270:32)
hiedb                             >         vs :: [a] (bound at src/HieDb/Query.hs:270:23)
hiedb                             >         m :: AdjacencyMap a (bound at src/HieDb/Query.hs:270:21)
hiedb                             >         splitByReachability :: AdjacencyMap a -> [a] -> (Set a, Set a)
hiedb                             >           (bound at src/HieDb/Query.hs:270:1)   
hiedb                             >     |                                           
hiedb                             > 270 | splitByReachability m vs = let s = Set.fromList (dfs vs m) in (s, vertexSet m Set.\\ s)
hiedb                             >     |                                                      ^^
hiedb                             >                                                 
hiedb                             > /tmp/stack-d669184d5bfe0031/hiedb-0.4.3.0/src/HieDb/Query.hs:270:57: error:
hiedb                             >     • Couldn't match expected type: [a1]        
hiedb                             >                   with actual type: AdjacencyMap a
hiedb                             >     • In the second argument of ‘dfs’, namely ‘m’
hiedb                             >       In the first argument of ‘Set.fromList’, namely ‘(dfs vs m)’
hiedb                             >       In the expression: Set.fromList (dfs vs m)
hiedb                             >     • Relevant bindings include                 
hiedb                             >         s :: Set a1 (bound at src/HieDb/Query.hs:270:32)
hiedb                             >         vs :: [a] (bound at src/HieDb/Query.hs:270:23)
hiedb                             >         m :: AdjacencyMap a (bound at src/HieDb/Query.hs:270:21)
hiedb                             >         splitByReachability :: AdjacencyMap a -> [a] -> (Set a, Set a)
hiedb                             >           (bound at src/HieDb/Query.hs:270:1)   
hiedb                             >     |                                           
hiedb                             > 270 | splitByReachability m vs = let s = Set.fromList (dfs vs m) in (s, vertexSet m Set.\\ s)
hiedb                             > [7 of 9] Compiling HieDb.Create                 
hiedb                             >     | 
....
....
Progress 212/290                

Error: [S-7282]
       Stack failed to execute the build plan.
       
       While executing the build plan, Stack encountered the error:
       
       [S-7011]
       While building package hiedb-0.4.3.0 (scroll up to its section to see the error) using:
       /home/<user>/.stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_6HauvNHV_3.8.1.0_ghc-9.4.5 --verbose=1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.8.1.0 build --ghc-options " -fdiagnostics-color=always"
       Process exited with code: ExitFailure 1 

This is due to this change in algebraic-graphs:

https://github.com/snowleopard/alga/blob/a0170a4188ee67a761a5f4b5942cdb8964060bc0/CHANGES.md?plain=1#L10

can be patched by replacing dfs by flip dfs.

This is due to this change in algebraic-graphs:

https://github.com/snowleopard/alga/blob/a0170a4188ee67a761a5f4b5942cdb8964060bc0/CHANGES.md?plain=1#L10

can be patched by replacing dfs by flip dfs.

Actually, these errors came up when I tried to compile haskell-language-server 2.0.0.1.
I'm not sure if I can change anything there...

This should be closed by #44

@ciukstar can't you tell your build system (stack, cabal, nix or whatever you are using actually) to use an older version of algebraic-graphs? I can show you how to do that with nix, cabal and in some context bazel.

For me personally, this is not a big problem.
I am quite new to Haskell. And I may be in too much of a hurry to report such errors.
I just wanted to warn you about these errors.
I can wait until some future version of haskell-language-server will compile without errors.

Thank you.