2010-05-26 86 views
3

我在haskell中編寫應用程序,我想將一些函數和數據類型導出到其他文件,然後能夠在我的主文件中使用它們。將其他文件添加到haskell

如何做到這一點?

感謝您的幫助

回答

3

上哈斯克爾模塊的Wikibooks page將是一個很好的起點,或者的relevant section瞭解您哈斯克爾(尤其是「讓我們自己的模塊」的一部分)。

5

你可以佈置你的源代碼如下所示:

Main.hs 
A/Module.hs 

你需要A/Module.hs哪個模塊,它實際上是指定;它必須是:

module A.Module where 

... 

Main.hs,導入A.Module;所有名稱都默認導出。

+0

但是在Haskell中,模塊名稱不具有與* com/example/Service.java中的Java類com.example.Service *具有*相同的含義。爲了方便起見,個別編譯器可以建立傳統的對應關係,但是如果你真的想要,也可以告訴GHC(例如)在'SomeRandomDirectory/NotMyModule.hs'中找到'MyModule',並且更典型的是你的'Main'模塊不必位於名爲'Main.hs'的文件中。 – 2010-05-27 13:57:05

+0

這是真的;如果你願意,你可以打破慣例。看到具有'src/A/Module.hs'的Cabal項目目錄並不罕見。 你提出的更復雜的重定向,我從來沒有嘗試過。 – solidsnack 2010-05-27 18:10:46