如何隐式导入常用模块?

时间:2015-10-02 03:35:29

标签: haskell

最近我在Haskell中编写了很多脚本。这是一次非常愉快的体验,因为它是我曾经触及过的最简洁的语言之一。

令我困扰的一件事是,我必须为我编写的每个脚本键入相同的user_group_id = 6 and user.user_id = user_field.user_id s,并且我几乎每次都使用一组模块,例如

import

我的意思是我每次都可以复制和粘贴它们,但有没有办法可以隐藏这些繁琐的进口?就像隐式导入import Control.Monad as MO import Data.ByteString.Lazy as BS import Data.Char as CH import Data.Csv as C import Data.Csv.Streaming as CS import Data.Foldable as FOLD import Data.Functor as F import Data.List as L import Data.List.Split as LS import Data.Text.Lazy as T import Data.Text.Lazy.IO as TI import Data.Vector as V import Debug.Trace as TR import Prelude as P 一样?

1 个答案:

答案 0 :(得分:13)

出于某些目的,一个选项是编写一个或多个“厨房水槽”模块供您自己使用,并且每次都要导入。不幸的是,当涉及命名的限定的导入时,这似乎没有太大作用。另一个选择是使用{-# LANGUAGE CPP #-}#include一些股票标题部分。

但是,我不会特别推荐任何这些选项。只需使用您最喜爱的GHC扩展和模块导入保留“库存模板”,并教您的文本编辑器使用它。不要忘记修剪你实际上不需要的东西。