Я использую Haskell со стеком и Atom в Windows 10. Иногда мне нравится просто писать отдельный файл .hs
, чтобы поиграться с разными вещами. Когда я это делаю, я предпочитаю взаимодействовать с ним с помощью GHCi.
Обычно я запускаю его из Git Bash:
$ stack ghci --color never
Отсюда я могу добавить модули:
Prelude> :m +Data.Vector.Unboxed
Prelude Data.Vector.Unboxed>
Однако в Atom у меня проблемы с этим конкретным пакетом:
- Открытый атом
- Создайте новый файл
.hs
- Добавьте в него следующий контент и нажмите Сохранить:
Содержимое файла:
module Ploeh where
import qualified Data.Vector.Unboxed as V
Когда я сохраняю файл, я получаю это сообщение об ошибке в Atom:
Failed to load interface for `Data.Vector.Unboxed'
Use -v to see a list of the files searched for.
Если я удалю импорт Data.Vector.Unboxed
, сообщение об ошибке исчезнет.
Эта проблема возникает конкретно с Data.Vector.Unboxed
. Другие модули либо постоянно присутствуют как в GHCi, так и в Atom, либо постоянно отсутствуют в обеих средах, но особенно этот модуль ведет себя непоследовательно.
Я предполагаю, что Atom использует другой движок, отличный от «глобальной» конфигурации, используемой stack ghci
, но если да, то где он, и могу ли я его настроить/обновить? Почему разница?
Я использую следующие пакеты Atom:
- autocomplete-haskell 1.0.1
- haskell-ghc-mod 2.2.2
- ide-haskell 2.2.2
- ide-haskell-cabal 2.1.0
- язык-хаскель 1.17.2
Сам Атом версии 1.23.2 x64.
$ stack --version
Version 1.6.3, Git revision b27e629b8c4ce369e3b8273f04db193b060000db (5454 commits) x86_64 hpack-0.20.0
Я считаю, что все в курсе.
Я прочитал https://atom-haskell.github.io/core-packages/haskell-ghc-mod/#using-with-stack и другие части документации, чтобы посмотреть, смогу ли я найти полезную информацию, но мне не удалось найти кое-что, чтобы просветить меня.
.hs
в Atom в течение года или более, и всякий раз, когда я придерживался «базовых» модулей, я прекрасно справлялся без файла.cabal
или.yaml
. Я знаю, как создать «правильный» проект стека и добавить зависимости. Этот вопрос конкретно касается специального исследовательского программирования. - person Mark Seemann   schedule 03.01.2018stack exec ghc-pkg list
ваша зависимость. - person Sibi   schedule 03.01.2018vector-0.12.0.1
включен в список, созданныйstack exec ghc-pkg list
, что, похоже, согласуется с тем фактом, чтоstack ghci
может загрузить модуль; это Атом не может его найти. - person Mark Seemann   schedule 03.01.2018Data.Vector
- person matt   schedule 08.04.2018