Я написал несколько простых модулей в Haskell, а затем import
в другом файле. Затем я пытаюсь использовать функции с конструкторами данных из моего модуля - есть ошибка Not in scope: data constructor: <value>
. Как я могу это исправить?
Примечание: когда я использую его в интерпретаторе после импорта - все хорошо без ошибок.
Мой модуль Test.hs
:
module Test (test_f) where
data Test_Data = T|U|F deriving (Show, Eq)
test_f x
| x == T = T
| otherwise = F
И мой файл file.hs
:
import Test
some_func = test_f
Нет ошибки, если я пишу в интерпретаторе:
> :l Test
> test_f T
T
В интерпретаторе я пытаюсь выполнить some_func T
, но есть ошибка. И как я могу использовать класс Test_Data
в моем файле для описания аннотаций?