Development/Shake/FilePattern.hs 中隐藏的有用功能

Usefull functionlity hidden away in Development/Shake/FilePattern.hs

我正在尝试使用 Development.Shake.FilePattern 中定义的函数 extract,但它被隐藏了。为什么?据我所知,它也没有在内部使用。

$ ghci
GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> import Development.Shake.FilePattern

<no location info>: 
    Could not find module `Development.Shake.FilePattern'
    it is a hidden module in the package `shake-0.15.10'
Prelude> 

extract 会非常方便。目前我不得不求助于自定义字符串操作。

extract内部使用,实现用户可见的&%>功能

Shake 有意尝试避免泄漏内部实现细节 - 例如,它包含一个线程池实现,它保持安静。也就是说,显然 FilePattern 是有用的,所以:

  • 从 Shake v0.16 开始,有一个函数 filePattern,可以完成上面的要求。
  • Shake 中的 FilePattern 功能已作为 the filepattern library 发布,Shake 将使用它来实现其所有功能。