小编sas*_*nin的帖子

如何管理单个Haskell程序的多个配置?

在Haskell世界中,什么是autotools的替代品?我希望能够在相同源代码的不同配置之间进行选择.

例如,Haskell中至少有两个MD5实现:Data.Digest.OpenSSL.MD5Data.Digest.Pure.MD5.我想以这样的方式编写代码,它可以找出已安装的库,并且不需要安装另一个库.

在CI中可以使用Autotools/Scons/CMake + cpp.在Python中,我可以抓住ImportError.我应该在Haskell中使用哪些工具?

build-automation configuration haskell conditional-compilation

5
推荐指数
1
解决办法
324
查看次数

Haddock超链接,没有关于冗余导入的警告

我的项目中有一个虚拟模块,其唯一目的是为库的其余部分保存Haddock文档.其实我并不需要这个模块中输入任何东西,但如果我不导入其他模块,黑线鳕不会将超级链接功能名称及其模块.

我的模块看起来像这样

{- |

Lots of Haddock text here... it references 'someFunction'.

-}
module TopLevelDoc () where

import Other.Module.With.SomeFunction
Run Code Online (Sandbox Code Playgroud)

现在,如果我构建项目,我会收到此警告:

    Warning: The import of `Other.Module.With.SomeFunction' is redundant
           except perhaps to import instances from `Other.Module.With.SomeFunction'
         To import instances alone, use: import Other.Module.With.SomeFunction()
Run Code Online (Sandbox Code Playgroud)

如果我删除导入或制作它们(),Haddock不会超链接someFunction到其文档.如果我按原样留下这样的进口,我会收到许多我不喜欢的错误警告.而且我不想为整个项目抑制这种警告,它可能对任何其他模块都有用,但是这个.

问题:

  1. 在构建时,如何在没有这些警告的情况下获得超链接Haddock输出?
  2. 是否可以基于每个文件禁用警告?(就像我可以做全球ghc-options.cabal)

haskell haddock

5
推荐指数
1
解决办法
303
查看次数

Neatimage使用哪种算法去噪图像?

Neatimage使用哪种算法来消除照片中的噪点和纹理?我知道这是专有软件,但可能有人有想法.欢迎参考出版物或类似算法.

algorithm graphics image-processing filter noise

2
推荐指数
2
解决办法
2483
查看次数

使用外部依赖项加载my-project.core时出现FileNotFoundException

FileNotFoundException在尝试使用外部库时,我在Clojure REPL中收到.例如,我创建了一个新项目lein new example-twitter-project.然后我编辑文件:

project.clj:

(defproject example-twitter-project "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [clojure-twitter "1.2.6-SNAPSHOT"]])
Run Code Online (Sandbox Code Playgroud)

src/example-twitter-project/core.clj:

(ns example-twitter-project.core
  (:use 'twitter))
Run Code Online (Sandbox Code Playgroud)

然后我跑lein deps,然后lein repl.

example-twitter-project$ lein repl
REPL started; server listening on localhost port 23833
user=> (use :reload-all 'example-twitter-project.core)
FileNotFoundException Could not locate quote/twitter__init.class or quote/twitter.clj on classpath:   clojure.lang.RT.load (RT.java:430)
Run Code Online (Sandbox Code Playgroud)

同时,我可以use直接从REPL中获取外部库:

user=> (use 'twitter)
nil
user=> (doc twitter/with-oauth)
-------------------------
twitter/with-oauth
([consumer access-token access-token-secret & body])
Macro
  Set the …
Run Code Online (Sandbox Code Playgroud)

clojure leiningen read-eval-print-loop

2
推荐指数
1
解决办法
1880
查看次数