Как использовать -v для просмотра списка файлов, искомых в Haskell Stack

У меня есть код Haskell ниже.

-- | Determine the prime factors of a given positive integer.

module P36 where
import Data.List
import Data.Numbers (primeFactors)

prime_factors_mult :: Integer -> [(Integer, Int)]
prime_factors_mult = map encode . group . primeFactors
    where encode xs = (head xs, length xs)

Я запускаю его в ghci, он дает мне вывод:

Prelude> :l P36
[1 of 1] Compiling P36              ( P36.hs, interpreted )

P36.hs:5:1: error:
    Failed to load interface for ‘Data.Numbers’
    Use -v to see a list of the files searched for.
Failed, modules loaded: none.

Я знаю, это потому, что у меня не установлен Data.Numbers. Я решил это, запустив stack install Numbers.

Но я не могу понять, что означает Используйте -v, чтобы увидеть список искомых файлов..

Я много гуглю и пробовал использовать :l P36 -v и stack -v. Но никто из тех, кто был казнен правильно.

Мой вопрос Как использовать -v для просмотра списка искомых файлов.

----- Обновлять ------

После запуска ghc -v в консоли отображается

C:\Users\Administrator>ghc -v
Glasgow Haskell Compiler, Version 8.6.3, stage 2 booted by GHC version 8.4.3
Using binary package database: C:\Users\Administrator\AppData\Local\Programs\sta
ck\x86_64-windows\ghc-8.6.3\lib\package.conf.d\package.cache
package flags []
loading package database C:\Users\Administrator\AppData\Local\Programs\stack\x86
_64-windows\ghc-8.6.3\lib\package.conf.d
wired-in package ghc-prim mapped to ghc-prim-0.5.3
wired-in package integer-gmp mapped to integer-gmp-1.0.2.0
wired-in package base mapped to base-4.12.0.0
wired-in package rts mapped to rts
wired-in package template-haskell mapped to template-haskell-2.14.0.0
wired-in package ghc mapped to ghc-8.6.3
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
ghc: no input files
Usage: For basic information, try the `--help' option.

Но я видел сообщение Ошибка: «Не удалось загрузить интерфейс для Data.Either.Utils». , которое получило результат работы с -v. Это

Using a sandbox located at
/Users/myuser/Desktop/mydirectory/myotherdirectory/.cabal-sandbox
/usr/local/bin/ghc --print-global-package-db
/usr/local/bin/runghc filename.hs

Я проверяю путь C:\Users\Administrator\AppData\Local\Programs\stack\x86 _64-windows\ghc-8.6.3\lib\package.conf.d и обнаруживаю, что в нем много .conf файлов.

C:.
    array-0.5.3.0.conf
    base-4.12.0.0.conf
    binary-0.8.6.0.conf
    bytestring-0.10.8.2.conf
    Cabal-2.4.0.1.conf
    containers-0.6.0.1.conf
    deepseq-1.4.4.0.conf
    directory-1.3.3.0.conf
    .....

Это файлы, которые ищет Haskell?

Является ли мой результат с ghc -v разумным?

Вы пробовали читать документацию по стеку?

Michael Litchard 08.04.2019 13:46

Спасибо за ваш совет, я не подумал об этом, потому что Google не дает мне никаких связанных ссылок. Я буду искать его сейчас.

Ynjxsjmh 08.04.2019 14:48
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
292
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Похоже, вы пытаетесь вызвать его из прелюдии. На самом деле это команда для самого компилятора, поэтому, если вы откроете свой терминал/консоль, попробуйте запустить ghc -v. (Я предположил, что вы используете GHC, поскольку отметили свой вопрос .)

Спасибо за Ваш ответ. Но после запуска ghc -v результат сильно отличается от того, что я хочу. Я отредактировал вопрос, не могли бы вы взглянуть на него?

Ynjxsjmh 08.04.2019 14:45

Я не уверен, что понимаю, может быть, cabal или ghc-pkg производят то, что вы хотите?

flawr 08.04.2019 15:04

На моей машине кажется нет команды командования. ghc-pkg list выводит файлы в \package.conf.d, которые я указал в своем обновлении.

Ynjxsjmh 08.04.2019 15:15
Ответ принят как подходящий

Предполагая, что вы запустили GHCi с помощью stack ghci, вы можете передать опцию -v с помощью stack ghci --ghc-options -v.

Стек передает GHC список папок, в которые стек устанавливает пакеты и где, следовательно, GHC должен искать модули Haskell. Таким образом, чтобы получить полезный вывод от GHC, обычно необходимо вызывать его через stack, как указано выше. Аналогичная ситуация с cabal и другими инструментами сборки.

Другие вопросы по теме