Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GHC7.4更新打破了haskell98?

GHC7.4更新打破了haskell98?
EN

Stack Overflow用户
提问于 2012-03-04 14:29:00
回答 3查看 5.2K关注 0票数 12

我今天更新了ghc,我的小程序停止工作了:

https://github.com/BrisFunctional/misere-oxo/blob/master/OXO/misere.hs

GHC现在是7.4.1-2版本,据我所知,它现在默认使用haskell2010标准,而不是haskell98。(我可以从ghc-pkg列表的输出中看到):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
haskell2010-1.1.0.1
(haskell98-2.0.0.1)

所以我把我的“导入列表”改成了“导入Data.List”,我认为这是唯一的问题,但现在我得到了以下结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 misere.hs:1:1: Not in scope: `System.Environment.withArgs'

既然我从来没有导入过System.Environment,这是从哪里来的呢?有什么提示吗?谢谢

编辑:我更新了github上的版本以反映此错误。实际上,使用Data.List ghc可以完美地编译文件,所以是runhaskell产生了这个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-04 15:10:41

您不仅需要将List更改为Data.List,还需要将Random更改为System.Random并从System.Environment导入getArgs (但目前,代码既不使用getArgs,也不使用System.Random中的任何内容,因此暂时还可以删除这些导入)。

旧的非分层模块只能从与base不再兼容的haskell98包中访问。这意味着使用haskell98模块还需要显式地在命令行中隐藏base,或者不在.cabal文件的依赖项字段中列出base

我对错误消息感到有点惊讶,我希望它会这样说

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Could not find module `System'
It is a  member of the hidden package `haskell98-2.0.0.1'.

但这种不同可能是runhaskell的一个怪癖。

票数 14
EN

Stack Overflow用户

发布于 2012-03-04 18:04:32

如果你的程序是纯Haskell98的,你可以使用下面的GHC调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ghc -package haskell98 -hide-package base

不过,从长远来看,如果您至少升级到分层模块名称会更好。使用Hoogle找出模块的名称。例如,http://www.haskell.org/hoogle/?hoogle=withArgsSystem.Environment列为导出模块。

票数 6
EN

Stack Overflow用户

发布于 2012-03-04 14:38:17

首先,我认为您使用System.Environment.withArgs是因为getArgs使用了withArgs。Hackage.Haskell page for System.Environment

也可以尝试导入withArgs,也可以导入整个System.Environment

其次,可能是List过去比Data.List现在拥有更多的东西。您可能希望尝试包含整个Prelude,而不仅仅是Data.List

为了回答标题中的问题,GHC的每次更新都扩展了Haskell98。一些语言杂注甚至阻碍了一些Haskell98的细节。但大多数情况下,库中的更改会导致问题,而不是GHC更新本身。

希望我已经给了你足够的东西来解决问题。

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

https://stackoverflow.com/questions/9555671

复制
相关文章
独家 | 2021年打破了零日黑客攻击的记录
作者:Patrick Howell O'Neill 翻译:欧阳锦校对:王可汗 本文约2000字,建议阅读6分钟本文为大家介绍了2021年发现的零日漏洞以及零日攻击,对零日漏洞的现状进行了简单分析,并给出了对未来零日攻击的预测。
数据派THU
2021/10/19
5550
别吹了,AI的泡沫快被吹破了
别看现在的AI虽然已经63岁了,智力却连3岁都不到,但它给人类的孤独增加了许多话题。
AI算法与图像处理
2019/08/16
6180
别吹了,AI的泡沫快被吹破了
8年打磨,《游戏设计梦工厂》发布史诗级更新!
👆点击“博文视点Broadview”,获取更多书讯 从新石器时代的陶陀螺; 到古埃及的夹棋(Seega); 从象棋到围棋; 从桌游到剧本杀; 从俄罗斯方块、超级马里奥; 到愤怒的小鸟、魔兽世界、星际争霸 …… 游戏是所有已知人类文化中不可分割的一部分, 游戏带给了人类无数的快乐, 伴随AlphaGo战胜李世石, 游戏甚至见证了人类智慧的巅峰。 游戏到底有什么魅力? 为什么人类痴迷于游戏? 为什么经典如俄罗斯方块、超级马里奥, 可以跨越时间、空间、文化、种族、国界, 让全世界几代人为之疯狂,直到今天依旧
博文视点Broadview
2022/06/29
4710
8年打磨,《游戏设计梦工厂》发布史诗级更新!
一个整数+1,攻破了Linux内核!
夜幕降临,喧嚣褪去,繁忙的Linux帝国渐渐平静了下来,谁也没有想到,一场危机正在悄然而至......
轩辕之风
2022/12/20
3860
一个整数+1,攻破了Linux内核!
区块链的泡沫要破了吗?纵观市场未来走向!
近来网上流传着下面这样一幅图,将比特币与历史上的经典泡沫走势进行对比,认为比特币泡沫已经破灭,价格将一去不再回头。同样,2017年年底突然兴起的区块链热也与来时一样,突然冷却,难道区块链的泡沫也将破灭
区块链领域
2018/04/13
7670
区块链的泡沫要破了吗?纵观市场未来走向!
无人驾驶江湖的沉寂,现在被滴滴打破了
邓思邈 贾浩楠 发自 凹非寺 量子位 | 公众号 QbitAI 过去的1000多天,自动驾驶江湖风云诡谲。 各家的成功或挫折,展现出一个自动驾驶技术转折、行业格局大变的图景,但有一个名字却反常地一直没有出现—— 滴滴自动驾驶。 直到现在。 最新举办的技术开放日上,滴滴一口气放出了一系列新进展。 产品上,全新推出的概念车Neuron,车身传感器数量高达35个,包括21个摄像头、8个激光雷达、6个毫米波雷达。 技术积累上,Robotaxi已经做到了24小时全天候无间断运营。 地理上,Robotaxi运营覆盖区
量子位
2023/05/06
1750
无人驾驶江湖的沉寂,现在被滴滴打破了
只用20行Python代码就攻破了网站登录
今天教大家用Python代码攻破网站登录(在测试靶机上进行实验),原理上是抓包和改包,如果学过的爬虫的话,相信你会快看懂这篇文章
Python研究者
2022/04/08
7320
只用20行Python代码就攻破了网站登录
ChatGPT重磅更新!新增API函数调用,上下文飙升4倍,价格打“骨折”
刚刚!OpenAI 对 GPT系列发布了重大更新。其中包括最核心的是API新增函数调用(Function calling)能力。
大数据文摘
2023/08/08
5890
ChatGPT重磅更新!新增API函数调用,上下文飙升4倍,价格打“骨折”
怎么打日志
什么时候该打日志 当你必须通过Debug才能定位问题的时候,说明应该打日志,好的系统,一般通过日志就能定位问题。 else if, switch 分支时,首行最后打印日志,以确定程序进入哪个分支。 一般来说,日志可以看到整个业务流程,否则日志就是残缺的 栗子: public void execute(String[] arguments) { String logInfo = "class" + this.hashCode(); logger.info(logInfo + " sta
王小明_HIT
2019/08/13
8860
git打tag
tag可在之前的版本上打,需要知道某个提交对象的校验和的前几位数字(通过git log获取)
薛定喵君
2019/11/06
1K0
Crossplane支持的自定义资源数量突破了Kubernetes的限制
作者 | Nic Cope 译者 | 平川 在过去的几个月里,Crossplane 支持的自定义资源数量突破了 Kubernetes 的限制。在这篇文章中,我们将探讨下由 Upbound 工程师发现的限制,以及我们如何帮助克服它们。 本文最初发布于 Upbound Newsletter。 在过去的几个月里,Crossplane 支持的自定义资源数量突破了 Kubernetes 的限制。在这篇文章中,我们将探讨下由 Upbound 工程师发现的限制,以及我们如何帮助克服它们。 背    景 Upbound 创
深度学习与Python
2023/03/29
8470
Crossplane支持的自定义资源数量突破了Kubernetes的限制
股票打板策略分析_打板选股技巧
这里我们只分析一件事情,就是如何打板才能最大概率赚到钱,就是我们可以分析过去一天涨停今天还涨停、分析过去两天涨停今天涨的概率,一直到过去10天涨停今天涨的概率,其实很多人都喜欢打板,但是可能大家都没分析过打板的胜率。
全栈程序员站长
2022/11/01
7080
脸部打码
import cv2 import numpy as np lena=cv2.imread("C:/Users/xpp/Desktop/Lena.png",0)#读取原始图像 r,c=lena.shape#读取原始图像的shape值 mask=np.zeros((r,c),dtype=np.uint8) mask[100:400,200:350]=1#打码图像的列和行 key=np.random.randint(0,256,size=[r,c],dtype=np.uint8)#获取一个key,打码、解码所
裴来凡
2022/05/28
7730
脸部打码
[git] 打标签命令
git中标签tag的作用可以区分一些小版本 git tag 可以查看所有的tag git tag 标签名 创建一个轻量标签 git tag -a 标签名 -m 注释 可以创建一个注释附注标签 p
唯一Chat
2021/06/21
7130
[git] 打标签命令
谷歌 Material Design 从这些方面打破了我思维局限 - 1
这段时间为了研究控件,细看了一下 Material Design,结果发现了很多创新、好用又有趣的东西。如果你想看一看 Material Design 的译文或者控件目录,这样的资源想必你能搜到不少。所以,我就不再锦上添花了,这里主要写的是 Material Design 给我带来的打破思维局限的东西,所以每一点都是精挑细选的关键点。 什么是 Material Design:这是谷歌提出的一套集合视觉、交互和前端的界面设计规范,其目标有两点,一是用视觉形式囊括经典的设计原则,并将将前沿创新和技术可能展现出来
前朝楚水
2018/04/04
9620
谷歌 Material Design 从这些方面打破了我思维局限 - 1
一番实验后,有关Batch Size的玄学被打破了
作者:Sebastian Raschka 机器之心编译 编辑:泽南 有关 batch size 的设置范围,其实不必那么拘谨。 我们知道,batch size 决定了深度学习训练过程中,完成每个 epoch 所需的时间和每次迭代(iteration)之间梯度的平滑程度。batch size 越大,训练速度则越快,内存占用更大,但收敛变慢。 又有一些理论说,GPU 对 2 的幂次的 batch 可以发挥更好性能,因此设置成 16、32、64、128 … 时,往往要比设置为其他倍数时表现更优。 后者是否是一种玄
机器之心
2022/07/12
4990
一番实验后,有关Batch Size的玄学被打破了
一番实验后,有关Batch Size的玄学被打破了
点击上方↑↑↑“OpenCV学堂”关注我来源:公众号 机器之心 授权 有关 batch size 的设置范围,其实不必那么拘谨。 我们知道,batch size 决定了深度学习训练过程中,完成每个 epoch 所需的时间和每次迭代(iteration)之间梯度的平滑程度。batch size 越大,训练速度则越快,内存占用更大,但收敛变慢。 又有一些理论说,GPU 对 2 的幂次的 batch 可以发挥更好性能,因此设置成 16、32、64、128 … 时,往往要比设置为其他倍数时表现更优。 后者是否是一种
OpenCV学堂
2022/07/12
1.4K0
一番实验后,有关Batch Size的玄学被打破了
一番实验后,有关Batch Size的玄学被打破了
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 有关 batch size 的设置范围,其实不必那么拘谨。 我们知道,batch size 决定了深度学习训练过程中,完成每个 epoch 所需的时间和每次迭代(iteration)之间梯度的平滑程度。batch size 越大,训练速度则越快,内存占用更大,但收敛变慢。 又有一些理论说,GPU 对 2 的幂次的 batch 可以发挥
计算机视觉研究院
2022/07/12
3330
一番实验后,有关Batch Size的玄学被打破了
打表,yyds!
周赛最后一题竟然靠打表?这就是暴力之美,这就是空间换时间的魅力吗? 涉及知识点:模拟,二分,打表 两栋颜色不同且距离最远的房子 给定一个正整数数组 ,计算 题解 固定左端点,右端点逆序枚举即可,时间复杂度 // cpp class Solution { public: int maxDistance(vector<int>& c) { int n = c.size(), ans = 0; for (int i = 0; i < n; ++i) {
ACM算法日常
2021/11/26
8490
【CCF】打酱油
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
6400

相似问题

MDT 2013更新1打破了USMT?

111

WordPress更新5.0.2打破了WooCommerce订单标签(全部)

117

VS 2012更新3打破了我的VS

43

iOS 8.4.1打破了UIWebView?

15

.NET 4.5打破了静态绑定

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文