Hindley-Milner - 有条件换人?

问题描述

我一直在尝试使用 Hindley-Milner 算法构建一个类型系统,但遇到了以下挑战,我很好奇是否有任何资源或论文可供参考。

假设我有一种编程语言,它具有某种形式的属性访问器(类似javascript),适用于数组和对象,s.t.数组括号内的属性必须是数字,对象括号内的属性必须是字符串。

例如

const arr = [0,1,2]
arr[0]

const obj = { hello: "World" }
obj["hello"]

假设我们想在以下代码片段中使用 hindley-milner

A[B]

如果后来我们意识到 B 是一个数字,那么我们立即推断出 A 是一个数组。同样,如果我们推导出 A 是一个对象,那么 B 立即是一个数字。

是否有任何论文或类型系统具有这种条件替换概念?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...