Search code examples
haskell-stackidris

Idris REPL can't find import while the program compiles


I cloned this Idris library and it compiles fine with the necessary dependencies. There is an example/ directory, which utilizes the library (imports some of its modules), and it compiles and runs fine as well. However, when I attempt to run the REPL in Atom, a familiar error message is displayed:

Can't find import Graphics/Util/GlfwConfig

Which is interesting because when make is executed, the following is one of the output lines:

Installing Graphics/Util/Glfw.ibc to /home/jan/.stack/snapshots/x86_64-linux-tinfo6/lts-11.17/8.2.2/share/x86_64-linux-ghc-8.2.2/idris-1.3.0/libs/glfw/Graphics/Util

Which seems to suggest that this module has been installed.

I'm probably misinterpreting some part of the process of Haskell/Idris/Stack installs here and Idris modules, so what am I supposed to do/understand here?


Solution

  • I guess the problem is quite simply that the project contains two ipkg files. One for the library and one for the test/example. The one in example/hello:

    package test
    
    opts = "-p effects -p glfw " 
    
    executable = hello
    main = Main
    

    includes the dependency to the idris package glfw but is not seen by Atom if you invoke Atom in the toplevel directory. To verify, please switch to the directory example/hello and invoke atom . and try from there. Now the ipkg file is in the toplevel directoy and will be picked up by Atom.