TypeEquality:F#的类型相等

时间:2024-06-15 03:01:22
【文件属性】:

文件名称:TypeEquality:F#的类型相等

文件大小:17KB

文件格式:ZIP

更新时间:2024-06-15 03:01:22

F#

类型平等 F#的类型相等性 该库包含F#的类型相等性(Teq)。 这些相等性使我们能够通过编码通用代数数据类型(GADT)来创建类型安全的抽象,就像在Haskell这样的语言中所发现的那样。 Ralf Hinze在“幻像类型”中解释了GADT和幻像类型的概念。 特别是,第7节“类型相等类型”涵盖了GADT编码中类型相等的作用。 用法 要在您的项目中使用Teqs,您将要引用主要的TypeEquality项目。 该项目可作为NuGet包- 。 该项目提供了Teq<'a,'b>的证明,证明'a和'b是同一类型。 通过在通用有区别的联盟的声明中包含这些类型,您可以编码GADT来限制每种情况适用的类型。 可以在“示例”文件夹中找到此示例。 为了更高级地使用,TypeEquality还允许您使用Teq和Teq.Cong(一致性)模块中的函数来推断Teq。 该库在Test / TypeEqual


【文件预览】:
TypeEquality-master
----TypeEquality.sln(2KB)
----Test()
--------Teq.fs(833B)
--------TypeEquality.Test.fsproj(980B)
----Example()
--------Expr.fs(2KB)
--------TypeEquality.Example.fsproj(604B)
----LICENSE(11KB)
----appveyor.yml(257B)
----.gitignore(5KB)
----README.md(2KB)
----TypeEquality()
--------Teq.fs(7KB)
--------TypeEquality.fsproj(1KB)
--------Teq.fsi(6KB)

网友评论