多义插件:消除明显使用效果的歧义。

[bsd3型,图书馆,多义][建议标签]

旗帜

手动标记

姓名描述违约
岩芯棉

进行芯线测试

残疾人

使用-f<标志>启用标志,或-f-<标志>禁用该标志。更多信息

下载

维修人员角落

包装维护人员

对于包维护者和黑客托管者

候选人

版本[RSS(RSS)] 0.1.0.0,0.1.0.1,0.2.0.0,0.2.0.1,0.2.0.2,0.2.0.3,0.2.1.0,0.2.1.1,0.2.2.0,0.2.3.0,0.2.4.0,0.2.5.0,0.2.5.1,0.2.5.2,0.3.0.0,0.4.0.0,0.4.1.0,0.4.1.1,0.4.2.0,0.4.3.0,0.4.3.1,0.4.4.0,0.4.5.0,0.4.5.1,0.4.5.2(信息)
更改日志 更改日志.md
依赖关系 基础(>=4.9 && <5),集装箱(>=0.5 && <0.7),温室气体(>=8.6.5 && <10),ghc-tc插件(>=0.3 && <0.5),多义(>=1.7),赛博(>=0.7 && <0.8),变压器(>=0.5.2.0 && <0.7)[细节]
许可证 BSD-3条款
版权 2019年桑迪·马奎尔
作者 桑迪·马奎尔
维护人员 sandy@sandymaguire.me
类别 一词多义
主页 https://github.com/polysim-research/polisim#readme
Bug跟踪器 https://github.com/polysemy-research/polysemy/issues
源回购 头部:git克隆https://github.com/polysmy-search/polysemy网址
已上传 通过泰克2023-12-29时间13:30:35 z
分配 LTSHaskell公司:0.4.5.2,NixOS:0.4.5.2,堆叠:0.4.5.2
反向依赖关系 49直接,16间接[细节]
下载 总计10786人(过去30天内有77人)
额定值 (尚未投票)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 用户上传的文档
生成状态未知[还没有报告]

polysemy-plugin-0.4.5.2自述文件

[返回包描述]

多义插件

生成状态 黑客攻击

奉献

不管你的理论有多漂亮,也不管你有多聪明你是。如果它与实验不一致,那就错了。

理查德-费曼

概述

一个typechecker插件,可以消除多义.

例子

考虑以下程序:

foo::成员(状态Int)r=>Sem r()foo=放置10

这个程序做什么?任何人都会告诉你它改变了这个国际到10,这显然是什么意思。

不幸的是,多义这件事自己解决不了。其理由是“也许你想换一个效果是号码,但你忘了添加成员约束。”

这显然很疯狂,但这就是饼干破碎的方式。多义插件是一个类型检查器插件,可以消除上面的歧义编写程序(和其他程序),以便编译器可以执行您想要的操作。

用法

将以下行添加到包配置中:

ghc-options:-fplugin=多边形。插件

限制

这个多义插件只有在只有一个效果的情况下才能消除歧义范围中的相关约束。例如,它将消除歧义以下程序:

bar::成员的[状态Int,状态双精度]r=>第r学期()bar=放置10

因为现在还不清楚您是否试图设置国际双精度相反,在这种情况下,您可以手动编写类型应用程序。

bar::成员的[状态Int,状态双精度]r=>第r学期()bar=放置@Int 10

致谢

这个插件几乎是一字不差地从简单效果.