Как импортировать файл. 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 модуль перед импортом?

787   3  

3 ответов:

Time.hs:

module Time where
...

script.hs:

import Time
...

Командная строка:

ghc --make script.hs

Если модуль 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

    Ничего не найдено.