Как неявно импортировать часто используемые модули?

в последнее время я пишу много сценариев в Haskell. Это довольно приятный опыт, поскольку это один из самых сжатых языков, к которым я когда-либо прикасался.

одна вещь, которая меня беспокоит, это то, что я должен ввести то же самое imports для каждого сценария, который я пишу, и есть набор модулей, которые я использую почти каждый раз, как

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

Я имею в виду, что я мог бы копировать и вставлять их каждый раз, но есть ли способ сделать этот утомительный импорт неявным? Как как!--2--> неявно импортируются?

1 ответов


один из вариантов для некоторых целей-написать один или несколько модулей "кухонной раковины" для собственного использования и просто импортировать их каждый раз. К сожалению, это, похоже, не очень хорошо, когда дело доходит до имени или квалификации импорт. Другой вариант-использовать {-# LANGUAGE CPP #-} до #include некоторые части заголовка запаса.

однако я бы не рекомендовал какой-либо из этих вариантов. Просто держите "шаблон запаса" вокруг с вашими любимыми расширениями GHC и модулем импортирует, и научите свой текстовый редактор использовать его. Не забудь подрезать то, что тебе на самом деле не нужно.