gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:37:51 25 4
gpt4 key购买 nike

Haskell 世界中自动工具的替代品是什么?我希望能够在相同源代码的不同配置之间进行选择。

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

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

最佳答案

在 Haskell 中,您使用 Cabal 配置。在您的项目顶级目录中,您放置了一个扩展名为 .cabal 的文件。 ,例如,<yourprojectname>.cabal .内容大致如下:

Name:                myfancypackage
Version: 0.0
Description: myfancypackage
License: BSD3
License-file: LICENSE
Author: John Doe
Maintainer: john@example.com
Build-Type: Simple
Cabal-Version: >=1.4

Flag pure-haskell-md5
Description: Choose the purely Haskell MD5 implementation
Default: False

Executable haq
Main-is: Haq.hs
Build-Depends: base-4.*
if flag(pure-haskell-md5)
Build-Depends: pureMD5-0.2.*
else
Build-Depends: hopenssl-1.1.*

Cabal documentation有更多详细信息,特别是关于 Configurations 的部分.

关于configuration - 如何管理单个 Haskell 程序的多个配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com