Как импортировать файл. hs в Haskell
Я сделал файл под названием time.hs. Он содержит одну функцию, которая измеряет время выполнения другой функции.
есть ли способ импортировать time.hs файл в другой скрипт Haskell?
Я хочу что-то вроде:
module Main where
import C:Haskelltime.hs
main = do
putStrLn "Starting..."
time $ print answer
putStrLn "Done."
где время определяется во времени .УГ как:
module time where
Import <necessary modules>
time a = do
start <- getCPUTime
v <- a
end <- getCPUTime
let diff = (fromIntegral (end - start)) / (10^12)
printf "Computation time: %0.3f secn" (diff :: Double)
return v
Я не знаю как импортировать или загрузить отдельно . Мне нужно скомпилировать time.hs файл в a модуль перед импортом?
3 ответов:
Если модуль
time.hsнаходится в том же каталоге, что и ваш" основной " модуль, вы можете просто ввести:import timeможно использовать иерархическую структуру, так что вы можете писать
import utils.time. Насколько я знаю, то, как вы хотите это сделать, не сработает.дополнительную информацию о модулях смотрите здесь узнайте вы Хаскелл, делая наши собственные модули.
скажем, у меня есть два файла в одном каталоге: модуль.hs и ModuleB.УГ.
модуль.hs:
Module ModuleA where ...ModuleB.hs:
Module ModuleB where import ModuleA ...Я могу сделать это:
ghc -I. --make ModuleB.hsПримечание имя модуля и имя файла должны быть одинаковыми. В противном случае он не может скомпилировать. Что-то вроде
не удается найти модуль '...-
будет происходить.
Comments