首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我能知道程序是用哪个ghc版本构建的吗?

程序是用哪个ghc版本构建的可以通过以下方式得知:

  1. GHC(Glasgow Haskell Compiler)是Haskell编程语言的主要编译器,用于将Haskell源代码编译成可执行的机器码。在编译过程中,可以通过命令行参数指定要使用的GHC版本。
  2. 如果你拥有程序的源代码,可以查看程序中的配置文件或构建脚本,通常会明确指定要使用的GHC版本。
  3. 如果你只拥有程序的可执行文件,可以使用一些工具来获取程序的元数据信息,其中包括构建时使用的GHC版本。例如,可以使用工具如filestrings来查看可执行文件的元数据。

需要注意的是,以上方法仅适用于使用GHC编译的Haskell程序。对于其他编程语言或使用不同编译器的Haskell程序,获取构建版本的方法可能会有所不同。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法提供相关链接。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储、人工智能等,你可以访问腾讯云官方网站获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从惰性IO说起_Haskell笔记6

所以,为了解决这个问题,就像引入foldl严格版本(非惰性版本)foldl'一样,我们引入了ByteString P.S.上面提到“承诺”,其实在Haskell有个对应术语叫thunk ByteString...,又具有惰性内存优势,所以大多数时候lazy版本 P.S.64K这个大小有讲究: 64K有很高可能性能够装进你CPUL2 Cache 常用函数 ByteString相当于另一种List,所以...-> B.ByteString cons就是List:,用于在左侧插入元素,同样惰性(即便第一个chunk足够容纳新元素,也插入一个chunk),而cons'其严格版本,会优先填充第一个chunk...那么,纯函数造出来随机数? 造伪随机数还是有点可能。...generator,还会重置global generator 五.异常处理 直到此刻,我们见过许多异常了(模式匹配遗漏、缺少类型声明、空数组取首元、除零异常等),知道一旦发生异常,程序就会立刻报错退出

2.3K30

newtype_Haskell笔记8

不像type创建别名类型可以与原类型等价换用,newtype创建新类型与原类型完全不同东西,唯一联系新类型内部实际操作原类型(通过持有原类型实例引用),通过这种方式在外层实现对原类型扩展...(typeclass)实现时 四.newtype与惰性计算 Haskell中大多数计算都是惰性(少数指的是foldl'、Data.ByteString之类严格版本),也就是说,计算只在不得不算时候才会发生...: sayHello _ = "hoho" > sayHello undefined "hoho" 二者差异在于,对于前者,需要做一些基本计算来看看应该用Tuple哪个值构造器,后者则不需要 但奇怪...,Tuple明明只有一个值构造器(不需要“看应该用Tuple哪个值构造器”): data () = () 我们知道没必要去检查应该用Tuple哪个值构造器,但Haskell不知道,因为按照约定,data...关键字定义数据类型可以有多个值构造器,即便只声明了一个,它也要找过才知道

59830

python写一个日志查询工具(登录ftp服务器得到日志并分析)

这两天比较闲,于是又捡起之前学了一点python。也不知道python做一个什么东西,但是如果不做个小工具,那python学了也是会很快就忘掉。...需要从ftp服务器logs文件夹下down出这些文件,然后对这些文件记录进行一个规整,看看都有哪些错误出现。...接下来就是打包了,命令这样 python {你Pyinstaller文件夹位置}pyinstaller.py --console --onefile ghc.py --console指转化为命令行式...这样就OK了,可执行文件也运行了。注意要在程序最底下加一句os.system("pause")。要不然程序跑完就关闭了,啥也看不到。 ?...正如人称:人生苦短,python。

79910

Haskell

如果深入下去,感觉数学能力可以爆+感受。是的,Haskell能让你体验到“非同一般”。...刚入门时,个人感受觉得真不难,看上去很愉悦完成了入门测验,可是接下来才发现自己知道越少,越暴露更多愚蠢感觉。...这个项目,有趣地方在于很多审计需要符合科学与哲学,它要解决问题很像是比特币+以太坊,很有意思它通过民主投票方式来解决分歧,很喜欢这个特性,我们持有的Cardano代币,就能让我们进行投票,并且这不是损耗...(注明:本文不是投资建议,仅仅是从Haskell引发出来Cardano项目) 是的,Cardano就是Haskell来编写,(这样渣渣也仅仅是阅读和学习)Haskell用户大部分都是教授或者数学领域牛人...我们知道计算机学科其实也是一门数学学科,你想想,跟数学过程一一对应语言,在研究领域,得多牛逼。

83430

一起长锈:2 什么神器确保Rust构建稳定可靠?(从Java与C++转Rust之旅)

“ ”而且你知道,国外Rust程序员他们自己都爱叫自己甲壳族(Rustaceans),因为这个词跟甲壳生物Crustacean差不多嘛。...“ ”要锁定依赖版本,保证我们构建东西稳稳运行,Maven通常会在里头指定依赖具体版本,或者Maven Enforcer插件之类外部工具。...“此外,Maven发行版和快照机制,也分别帮我们管理稳定构建和开发构建。” “然后Gradle,它通过build.gradle文件来配置依赖。”...2.4.2 C++世界如何确保构建稳定可靠 席双嘉:“嗨,你知道?在C++世界里,我们也有类似Rust中Cargo.lock机制,就是Conan这个小工具。”...“这个conan.lock文件作用就是把项目依赖版本给锁定住,这样无论在哪个环境下构建,依赖都能保持一致。” “这样一来,就能避免因为依赖版本不同,在开发、测试和生产环境中出现那些麻烦事儿。”

23453

5门可能衰落编程语言

一些知名公司和项目(Facebook、GitHub 等)都曾使用 Haskell 在某个时候构建过重要程序。...因为 Swift 正在成为一种非常有效语言 —— 用于构建 iOS、macOS 和即将推出跨平台应用程序。 04 R 早在多年前,R 一种越来越流行数据分析语言。...结合起来既合理又可行,我们在内部数据科学平台上运行它们,但如果今天要重新开始职业生涯,可能会考虑专注于 Python 而不是 R。...除此之外,开发人员普遍采用其他编程语言来构建网站,这意味着 Perl 将陷入越来越多废弃状态。 P.S. 在本文早期版本中,我们说过 Perl 几乎没有活跃开发。...Q: 你在用衰落语言? 欢迎留言与大家分享

83630

真正杀死C++不是 Rust

知道在 MSVC 中 uint16_t(50000) + uint16_t(50000) == -1794967296 ?你知道为什么?你看法与我不谋而合。...版本1:标准 C++ 正弦函数;版本2:由4个多项式模型组成正弦函数? 下一个问题。以下哪个版本代码运行速度更快?版本1:使用短路逻辑运算;版本2:将逻辑表达式转换为算术表达式?...第三个问题,以下哪个版本三元组排序更快?版本1:带有分支交换排序;版本2:无分支索引排序? 如果你果断地回答了以上所有问题,甚至没有思考或上网搜索,那么只能说你被自己直觉骗了。...有一个函数,在函数定义前面加了@cuda.jit,Python就无法编译内核了,还提示了一些关于数组错误。你知道这里面有什么问题?” 知道。后来,他花了一天时间自己搞清楚了。...但在 21 世纪,硬件架构演变如此缓慢,在 20 年前 MASM32 写程序如今仍然完美运行,但我不敢确定去年 CMake 3.21 构建 C++ 应用程序今时今日能否 CMake 3.25

10010

✨从延迟处理讲起,JavaScript 也惰性编程?

专栏简介 作为一名 5 年经验 JavaScript 技能拥有者,笔者时常在想,它核心是什么?后来确信答案:闭包和异步。...JavaScript 示例代码 2 效果; 在 GHC 编译器中,result1, result2, 和 result3 被存储为 “thunk” ,并且编译器知道在什么情况下,才需要去计算结果,否则将不会提前去计算...惰性编程 什么惰性编程? 惰性编程一种将对函数或请求处理延迟到真正需要结果时进行通用概念。 有很多应用程序都采用了这种概念,有的非常明显,有些则不太明显。...在 JS 中也有 Promise,它是 JS 实现惰性关键?...我们无法知道 Promise 刚开始执行,或者快执行完了,还是其它哪个具体执行阶段;内部异步任务就已经启动了,执行无法中途取消;这些问题也是面试中常考 Promise 缺点有哪些。

64020

铁定不纯IO_Haskell笔记5

,语法和用法也都基本相同,newtype更严格类型声明(直接换成data也正常用,data换newtype就不一定了),具体区别是: data can only be replaced with...’ 在I/O List场景(把m换成IO,t换成[]),参数类型约束[IO a],返回值类型约束IO [a],所以相当于: sequence' [] = do return [] sequence...,mapM第一个参数输入a输出IO b函数,第二个参数[a],返回IO [b],返回值类型与sequence一致。...惰性I/O 字符串本身一个惰性List,getContents也是惰性I/O,不会一次性读入内容放到内存中 toUpperCase'示例中会一行一行读入再输出大写版本,因为只在输出时候才真正需要这些输入数据...,再输出出来,这个指针果然移动 P.S.类似的hGet/Putxxx含有很多,比如hPutStr, hPutStrLn, hGetChar等等,与不带h版本类似,只是多个handle参数,例如:

1.3K30

为什么 Haskell 我们构建生产软件系统首选

Haskell 我们在构建生产软件系统时使用首选编程语言。对于只是大致了解这种语言的人们来说,这个选择看起来很不一般。人们都知道 Haskell 一种学习曲线陡峭高级语言。...在这篇文章中,将介绍 Haskell 一些突出特性,这些特性让它成为一种出色、具有行业水准语言,从而非常适合构建商业软件;还会解释为什么我们新项目考虑使用第一个工具往往就是它。...4Haskell 程序具有出色性能,从而带来更快应用程序和更低硬件成本 GHC 最常用 Haskell 编译器,可生成非常快速可执行文件,尤其与其他通常用于应用程序开发语言(例如 PHP...对这个质疑回答,在构建生产系统时,一种语言可用软件包总数基本上无关紧要。...但是,当有人在寻求帮助或想要大致了解这个语言时,随便选择哪个社区都是不错主意。 10结论 为什么 Haskell 我们构建生产软件系统首选编程语言呢?原因有很多。

1.3K10

MySQL主从复制详解

,并将新binlog文件名和位置记录到master-info文件中,以便下一次读取master端新binlog日志时告诉Slave服务器从新binlog日志指定文件及指定位置开始读取新binlog...在同一个复制组下所有实例server_id都必须唯一,而且取值必须正整数,取值范围1~(232)−1 启动数据库 将启动脚本拷贝至启动文件,并修改参数 [root@mysql-master...容灾能力:         可以在物理距离较远另一个数据建立slave,保证在主实例所在地区遭遇灾难时,在另一个数据中心快速恢复。   ...新版本使用表来代替原来文件,主要为了crash-safe replication,从而大大提高从库可靠性。...ENGINE=InnoDB; 通过上面的报错以及relay log介绍,很容易知道由于mysql.slave_relay_log_info表中保留了以前复制信息,导致新从库启动时无法找到对应文件,那么我们清理掉该表中记录不就可以了

2.2K30

就编程而言,Linux是否已经足够?

这篇文章Linux Mint上使用Typora编写完成 做为一个程序员,一直MacOS,其实它挺好对它没有任何意见 。...但在心里,总有一种欲望,就是想去使用一个自由操作系统,不希望自己被MacOS约束,虽然它非常优秀。 也非常想知道,对于程序员来说,Linux是否足够使用?...其它大多是基于这些原始发行版本重新构建,比如著名Ubuntu基于Debian构建。 最终,在几乎虚拟机安装与体验了众多有名发行版本后,最终选择了Linux Mint。...linux mint 对于程序员来说,它足够使用?...如果国内生态再进一步,比如腾讯一些国民级软件,支持Linux,那我相信对于国内程序员来说,切换到Linux完全具备可行性

2.1K30

5 门可能衰落编程语言

来源 | 程序猿 并不是所有编程语言都能经久不衰。事实上,新一代开发人员会采用他们认为更容易使用其他语言或框架,即使最流行语言也不可避免地会走向衰落。...Haskell 来构建重要程序 然而,Haskell 长期在 RedMonk 排名中表现平平,这表明没有开发者关注它,不知道是否可以理解为它“快死了”,或者已经“死了” 3、Objective-C...,他们最希望开发者迅速接受 Swift 以替代掉 Objective-C。...不过,Objective-C 可能会在某个时候完全消失,苹果公司也很乐意看到这样结果,因为 Swift 正在成为一种非常有效语言,用于构建 iOS、macOS 以及即将推出跨平台应用程序。...曾表示:如果职业生涯重新开始,我会更加考虑使用 Python 而不是 R。

59220

NPM 这 6 个有趣实用知识点,你知道几个?

假如,构建脚本是: npm run build 复制代码 那么你知道如何在执行 npm run build 指令执行之前,做一些特定别的操作,或者在执行之后执行一些操作,应该怎么做?...四、通过 npm link,创造一些实用工具指令 npm link 很多人都知道,它最广为人知用途: 创建一个软连接,使得你可以在不发布到 npm 源情况下,在 B 项目里依赖 A 项目进行联调...这难道不 cooool ? 这会让你看起来,更像一个 "极客" 。 五、当你使用依赖时,导入具体哪个文件?...'); 复制代码 两种语句引入同一个文件?...会对程序产生什么差别? 有些同学或许回答出 " 前者 ESM 语法,后者 CommonJS 语法。",然后呢?

1.2K40

听君一席话,如听一席话,解释解释“惰性求值”~

---- theme: smartblue 止观初探 我们习惯将代码编写为 一系列命令,程序会按照它们 顺序 进行执行: 思考以下代码: const myFunction = function(a...JavaScript 示例代码 2 效果; 在 GHC 编译器中,result1, result2, 和 result3 被存储为 “thunk” ,并且编译器知道在什么情况下,才需要去计算结果,否则将不会提前去计算...(思路:强制求值第一个参数,返回第二个参数;) 函数式语言和命令式语言内存模型; 懒惰奥义 听君一席话,如听一席话,希望看完本篇后,有人再问你“什么惰性求值”,心里有个基本谱~~ 人天性爱偷懒...,能不做事儿先不做,先放着,等要做时候再去做,这也未尝不是一种智慧;要知道激情最容易被磨灭,别让琐碎提前“计算”消磨掉仅有不多激情~ 看准再做,“慢”也是一种“快”!...掘进安东尼,公众号同名,输出暴露输入,技术洞见生活,再会~

58220

5 门可能衰落编程语言

2、Haskell 据了解,Haskell 将在 2020 年进行一次重大标准更新(具体可查看(由 GHC 和 GitHub 中与 Haskell 相关仓库),许多著名公司和项目(Facebook...、GitHub等)都曾使用过 Haskell 来构建重要程序 然而,Haskell 长期在 RedMonk 排名中表现平平,这表明没有开发者关注它,不知道是否可以理解为它“快死了”,或者已经“死了”...,毋庸置疑,他们最希望开发者迅速接受 Swift 以替代掉 Objective-C。...不过,Objective-C 可能会在某个时候完全消失,苹果公司也很乐意看到这样结果,因为 Swift 正在成为一种非常有效语言,用于构建 iOS、macOS 以及即将推出跨平台应用程序。...曾表示:如果职业生涯重新开始,我会更加考虑使用 Python 而不是 R。

85130

链家网前端总架构师杨永林:8年架构师成长之路

杨永林:对架构师所担任职责认识一步步变化,慢慢深入。 在刚参加工作时候,觉得架构师就是代码写得又快又好的人,工程师晋级版本。...杨永林:觉得这些工具有效地解决了前端开发效率问题,它们出现都是对技术推动,如果在做工具时候有这些项目的出现,会减少很多工作量。至于哪个更好,觉得,你掌握哪个哪个就是最好。...如果不是超大型应用,其实build结果影响并没有太大差异,与其想着哪个更好哪个更牛逼,不如将其中一个玩熟玩透。 如何保证团队成员不会踩到同样坑?在设计框架和构建工具时有无这方面的考虑?...我们知道,解决一个问题手段有很多,在这个过程中取舍就很重要了,我们也知道,没有银弹,很少遇见那种全面优势解决方案,大部分方案都是牺牲掉一部分东西来换取一部分东西。...Q:前端学习方面有什么书籍可以介绍? A:现在前端书籍都挺多挺好多呀,一般推荐高级程序设计,图解CSS3。 Q:您在担任架构师这个角色中遇到最严重线上事故是什么?当时怎么解决

73920

重磅:Consul、Terraform、Vagrant 等禁止中国使用!部分 Spring Cloud 用户或受影响

(开源版等其它版本没有提及) HashiCorp旗下知名开源软件: Terraform:Terraform 一种安全有效地构建、更改和版本控制基础设施开源工具(基础架构自动化编排工具)。...Consul:一个支持多数据中心分布式高可用服务发现和配置共享服务软件,由 HashiCorp 公司 Go 语言开发,目前在国内也有大量使用和落地案例。...你说得清楚? 2020校招薪酬大比拼,你被倒挂了没? 写那么多年Java,还不知道Java agent 必须看一下!...高并发:RocketMQ 削峰实战 有了这个 IDEA兄弟,你还用 Navicat ?全家桶不香? Spring Cloud 和 Dubbo 哪个会被淘汰?...欢迎加入知识星球,聊聊技术、说说职场、扯扯社会。 头发很多中年程序员DD在这里期待你到来! 最近更新:你房子70年之后怎么办,开始明朗! 加入方式:长按下方二维码噢 星球是否适合你?

1.6K10
领券