首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在haskell中,如何根据os (也可以吗?)来改变进口?

在haskell中,如何根据os (也可以吗?)来改变进口?
EN

Stack Overflow用户
提问于 2022-09-22 20:32:12
回答 1查看 121关注 0票数 0

本质上,我希望在Haskell中绑定不同的ffi内容,根据这些内容,解释器执行脚本。有办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-22 20:46:34

阴谋集团有条件块,支持的条件之一是os(name)

os(名称)

测试当前操作系统是否为名称。该参数将在目标系统上对照System.Info.os进行测试。不幸的是,Haskell实现之间对于System.Info.os的标准值存在一些分歧。阴谋集团将其规范化,特别是os(windows)在所有实现上都能工作。如果规范化os名称匹配,则此测试的计算结果为true,否则为false。这场比赛不分大小写.

- https://cabal.readthedocs.io/en/stable/cabal-package.html#conditions

这是一个非常常用的标志。

我从未见过其他选项正在使用,但使用CPP扩展时,GHC定义了<os>_HOST_OS宏,其中<os>标识您的操作系统。

os_HOST_OS=1

这个定义允许基于操作系统的条件编译,其中⟨os⟩是当前操作系统的名称(例如。linux、mingw32 for Windows、solaris等)。

- https://downloads.haskell.org/ghc/latest/docs/users_guide/phases.html?highlight=cpp#standard-cpp-macros

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73820361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档