WikiEdge:ArXiv速递/2025-02-27:修订间差异
无编辑摘要 |
Updated page by Carole |
||
(未显示同一用户的6个中间版本) | |||
第9行: | 第9行: | ||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,其中隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特征来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,其中隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特征来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | ||
尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解很少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解很少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | ||
== 摘要 == | |||
* '''原文标题''':Entanglement buffering with multiple quantum memories | |||
* '''中文标题''':多量子记忆的纠缠缓冲 | |||
* '''发布日期''':2025-02-27 16:25:43+00:00 | |||
* '''作者''':Álvaro G. Iñesta, Bethany Davies, Sounak Kar, Stephanie Wehner | |||
* '''分类''':quant-ph, cs.PF | |||
*'''原文链接''':http://arxiv.org/abs/2502.20240v1 | |||
'''中文摘要''':[[纠缠缓冲器]]是能够维持高质量[[纠缠]]的系统,确保在需要时能够随时使用。在这项工作中,我们研究了一个双节点缓冲器的性能,其中每个节点都有一个长寿命的[[量子存储器]]用于存储纠缠,以及多个短寿命的存储器用于生成新的纠缠。新生成的纠缠可用于纯化存储的纠缠,而存储的纠缠会随着时间的推移而退化。存储的纠缠可能会由于纯化失败或使用而被移除。我们推导了系统性能的解析表达式,该性能通过纠缠可用性和使用时的平均[[保真度]]来衡量。我们的解决方案在计算上是高效的,并且为基于纯化的纠缠缓冲器的性能提供了基本界限。我们表明,为了最大化使用时的纠缠平均保真度,必须尽可能频繁地进行纯化,即使这常常会导致由于纯化失败而损失高质量的纠缠。此外,我们获得了在实际系统中设计良好纯化策略的启发式方法。一个关键发现是,简单的纯化协议(如[[DEJMPS]])通常比最大化输出保真度的协议提供更好的缓冲性能。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了[[参数化多态]]和[[特设多态]]之间的差距。自它们在[[Haskell]]中首次开发以来,现在已经在许多其他工业级编程语言中占据重要地位,特别是包括[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于编译器通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**[[隐式编程]]**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到[[一致性]],即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特性来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | |||
尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了[[参数化多态]]和[[特设多态]]之间的差距。自它们在[[Haskell]]中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,特别是包括[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于编译器通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**[[隐式编程]]**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,其中隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特征来维护健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | |||
尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了[[参数化多态]]和[[特设多态]]之间的差距。自其在[[Haskell]]中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,尤其是[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于[[编译器]]通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生歧义结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特性来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中唯一以避免歧义。 | |||
尽管关于类型类和隐式编程的研究已经非常丰富,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这一问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是一种流行的工具,用于在不损失效率的情况下实现通用算法和数据结构,弥合了[[参数化多态]]和[[特定多态]]之间的差距。自它们在[[Haskell]]中首次开发以来,现在已经在许多其他工业级编程语言中占据重要地位,特别是包括[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于[[编译器]]通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到[[一致性]],即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特性来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | |||
尽管关于类型类和隐式编程的研究已经有很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了[[参数化多态性]]和[[特设多态性]]之间的差距。自它们在[[Haskell]]中的最初发展以来,现在它们在许多其他工业级编程语言中占据了重要地位,尤其是[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于[[编译器]]通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**[[隐式编程]]**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到[[一致性]],即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特性来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | |||
尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 | |||
== 摘要 == | |||
* '''原文标题''':On the State of Coherence in the Land of Type Classes | |||
* '''中文标题''':类型类领域中的一致性状态 | |||
* '''发布日期''':2025-02-27 21:42:04+00:00 | |||
* '''作者''':Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham | |||
* '''分类''':cs.PL | |||
*'''原文链接''':http://arxiv.org/abs/2502.20546v1 | |||
'''中文摘要''':[[类型类]]是一种流行的工具,用于在不损失效率的情况下实现通用算法和数据结构,弥合了[[参数化多态]]和[[特设多态]]之间的差距。自其在[[Haskell]]中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,尤其是包括[[Swift]]、[[Rust]]和[[Scala]]。类型类的成功在很大程度上取决于编译器通过[[类型导向解析]]推断[[隐式参数]]的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 | |||
隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于[[依赖类型]]特征来保持健全性。另一方则认为上下文不应妨碍[[等式推理]],并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 | |||
尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。 |
2025年3月13日 (四) 17:53的最新版本
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了参数化多态和特设多态之间的差距。自它们在Haskell中的最初发展以来,现在它们在许多其他工业级编程语言中占据了重要地位,特别是包括Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,其中隐式解析是上下文敏感的,并且通常依赖于依赖类型特征来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解很少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:Entanglement buffering with multiple quantum memories
- 中文标题:多量子记忆的纠缠缓冲
- 发布日期:2025-02-27 16:25:43+00:00
- 作者:Álvaro G. Iñesta, Bethany Davies, Sounak Kar, Stephanie Wehner
- 分类:quant-ph, cs.PF
- 原文链接:http://arxiv.org/abs/2502.20240v1
中文摘要:纠缠缓冲器是能够维持高质量纠缠的系统,确保在需要时能够随时使用。在这项工作中,我们研究了一个双节点缓冲器的性能,其中每个节点都有一个长寿命的量子存储器用于存储纠缠,以及多个短寿命的存储器用于生成新的纠缠。新生成的纠缠可用于纯化存储的纠缠,而存储的纠缠会随着时间的推移而退化。存储的纠缠可能会由于纯化失败或使用而被移除。我们推导了系统性能的解析表达式,该性能通过纠缠可用性和使用时的平均保真度来衡量。我们的解决方案在计算上是高效的,并且为基于纯化的纠缠缓冲器的性能提供了基本界限。我们表明,为了最大化使用时的纠缠平均保真度,必须尽可能频繁地进行纯化,即使这常常会导致由于纯化失败而损失高质量的纠缠。此外,我们获得了在实际系统中设计良好纯化策略的启发式方法。一个关键发现是,简单的纯化协议(如DEJMPS)通常比最大化输出保真度的协议提供更好的缓冲性能。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了参数化多态和特设多态之间的差距。自它们在Haskell中首次开发以来,现在已经在许多其他工业级编程语言中占据重要地位,特别是包括Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于依赖类型特性来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了参数化多态和特设多态之间的差距。自它们在Haskell中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,特别是包括Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,其中隐式解析是上下文敏感的,并且通常依赖于依赖类型特征来维护健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了参数化多态和特设多态之间的差距。自其在Haskell中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,尤其是Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生歧义结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于依赖类型特性来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中唯一以避免歧义。 尽管关于类型类和隐式编程的研究已经非常丰富,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这一问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是一种流行的工具,用于在不损失效率的情况下实现通用算法和数据结构,弥合了参数化多态和特定多态之间的差距。自它们在Haskell中首次开发以来,现在已经在许多其他工业级编程语言中占据重要地位,特别是包括Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于依赖类型特性来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究已经有很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是用于实现通用算法和数据结构而不损失效率的流行工具,弥合了参数化多态性和特设多态性之间的差距。自它们在Haskell中的最初发展以来,现在它们在许多其他工业级编程语言中占据了重要地位,尤其是Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于依赖类型特性来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特性和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。
摘要
- 原文标题:On the State of Coherence in the Land of Type Classes
- 中文标题:类型类领域中的一致性状态
- 发布日期:2025-02-27 21:42:04+00:00
- 作者:Dimi Racordon, Eugene Flesselle, Cao Nguyen Pham
- 分类:cs.PL
- 原文链接:http://arxiv.org/abs/2502.20546v1
中文摘要:类型类是一种流行的工具,用于在不损失效率的情况下实现通用算法和数据结构,弥合了参数化多态和特设多态之间的差距。自其在Haskell中的最初发展以来,它们现在在许多其他工业级编程语言中占据重要地位,尤其是包括Swift、Rust和Scala。类型类的成功在很大程度上取决于编译器通过类型导向解析推断隐式参数的能力。这种技术有时被称为**隐式编程**,它允许用户省略语言实现可以从上下文中推导出的信息,例如特定类型类的实现。 隐式编程的一个缺点是类型导向解析可能会产生模糊的结果,从而威胁到一致性,即有效程序具有唯一含义的属性。这个问题在社区中引发了关于如何解决它的正确方法的争论。一方主张灵活性,即隐式解析是上下文敏感的,并且通常依赖于依赖类型特征来保持健全性。另一方则认为上下文不应妨碍等式推理,并且通常要求类型类实例在整个程序中是唯一的,以避免歧义。 尽管关于类型类和隐式编程的研究文献很多,但大多数学术文献集中在少数几种语言上,对其他主流项目的见解较少。与此同时,后者在不同的名称下发展出了类似的特征和/或限制,使得语言用户和设计者难以全面了解设计空间。为了缓解这个问题,我们着手研究Swift、Rust和Scala这三种广泛使用类型类的流行语言,并将它们的一致性方法与Haskell的方法进行比较。结果表明,除了表面上的语法差异外,Swift、Rust和Haskell实际上非常相似,这三种语言提供了可比的策略来应对类型类实例唯一性的限制。