предположим, что у меня есть два модуля NecessaryModule1 и NecessaryModule2 (, как указано в сообщении Haskell :, загружающие ВСЕ файлы в текущем пути к каталогу . Затем я заметил как в WinGHCi, так и в GHCi, что если я делаю :
> :load NecessaryModule1
[1 of 1] Compiling NecessaryModule1 ( NecessaryModule1.hs, interpreted )
Ok, modules loaded: NecessaryModule1.
> addNumber1 2 3
5
> :load NecessaryModule2
[1 of 1] Compiling NecessaryModule2 ( NecessaryModule2.hs, interpreted )
Ok, modules loaded: NecessaryModule2.
> addNumber1 2 3
:1:1: Not in scope: `addNumber1'
, то есть загрузка NecessaryModule2 удаляет все функции из NecessaryModule1.
Значит ли это, что единственный способ одновременно загрузить NecessaryModule1 и NecessaryModule2 — это использовать третий файл (, который импортирует и NecessaryModule1, и NecessaryModule2 ), а затем загрузить этот третий файл? (напр. см. test.hs в Haskell :загрузка ВСЕХ файлов в текущем пути к каталогу)Спасибо.
[ОТВЕТ ГИКозавру]
Привет, если я сделал :load NecessaryModule1
, а затем хочу загрузить модуль в MyMod.hs :
--MyMod.hs
module MyMod where
import Data.List
f x = sort x
, то как мне это сделать? В Haskell :модуль выгрузки в WinGHCi Риккардо объясняет, что :module
предполагает, что модули уже были загружены. Значит ли это, что единственный способ добиться загрузки нескольких пользовательских модулей — загрузить их одним вызовом функции :load
? Спасибо.