Я пишу свой первый большой проект на Haskell и хочу разбить его на несколько файлов. На данный момент я написал два модуля, Parse и Eval. Я хотел бы иметь модуль Main, который просто включает эти два модуля и определяет функцию main. У меня есть файлы Main.hs, Parse.hs и Eval.hs, и я импортирую их в Main, но происходит следующее:
Prelude> :load "~/code/haskell/lisp/Main.hs"
[1 of 3] Compiling Eval ( Eval.hs, interpreted )
[2 of 3] Compiling Parse ( Parse.hs, interpreted )
[3 of 3] Compiling Main ( ~/code/haskell/lisp/Main.hs, interpreted )
Ok, modules loaded: Main, Parse, Eval.
*Main> parse parseExpr "" "#b101"
<interactive>:1:0: Not in scope: `parse'
Функция parse взята из библиотеки Parsec, импортированной в Parse.hs. Что случилось?