Невозможно успешно импортировать Text.Regex.Posix в проект стека - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь использовать функцию =~ в исходном файле Haskell. Я установил пакет Text.Regex.Posix с помощью stack (stack install regex-posix-0.96.0.0) и добавил его в массив extra-deps моего stack.yaml файла:

stack.yaml:

resolver: lts-15.5
packages:
- .
extra-deps:
  - regex-posix-0.96.0.0

в моем Haskell исходном файле я импортирую Text.Regex.Posix следующим образом:

module Lib (
 someFunc
) where

import Text.Regex.Posix

someFunc :: String -> Bool
someFunc str = str =~ "myregex"

, но при запуске stack ghci я получаю следующую ошибку:

    Could not load module ‘Text.Regex.Posix’
    It is a member of the hidden package ‘regex-posix-0.96.0.0’.
    You can run ‘:set -package regex-posix’ to expose it.
    (Note: this unloads all the modules in the current scope.)
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
5 | import Text.Regex.Posix
  | ^^^^^^^^^^^^^^^^^^^^^^^

Как мне выставить функцию =~? спасибо!

1 Ответ

2 голосов
/ 22 марта 2020

Вам нужно объявить его как зависимость вашего пакета, добавив его в build-зависимость в вашем файле package.yaml или .cabal.

Вам не нужно упоминать об этом в лишних словах, так как он в lts-15

...