问题标签 [singleton-type]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - PL/SQL 中的单元类型是什么?
PL/SQL 中的单元类型是什么?如果没有内置类型,我如何制作一个?
scala - 单例类型中表面上的不一致
我有几个关于单例类型的问题,但是由于它们都非常密切相关,所以我将它们发布在同一个线程下。
Q1。为什么#1 不编译而#2 编译?
Q2。在我尝试过的其他引用类型的情况下,类型被正确推断,但在其他引用类型的情况下String
却没有。为什么呢?
haskell - Haskell 中的内存高效虚拟值
如果我有键到值的映射,那么键集可以实现为键到固定虚拟值的映射。
有许多假人候选人:
data
- 没有构造函数的定义类型- 其他无人居住的类型(例如
forall a . a
) - 单例类型
- 未装箱的类型
对我来说最明显的解决方案是使用库存单例类型()
,但case
我可以从底部区分()
,所以我认为内存表示()
包括间接。
我有两个问题:
- 是否
Map.fromList [(1, ()), (2, ())]
占用更多内存let dummy = () in Map.fromList [(1, dummy), (2, dummy)]
? - 考虑到内存占用、cpu 使用率和正确性,建议从bytestring-trie
dummy
构造集合的值是多少?
haskell - Haskell 中的单例类型
作为对各种依赖类型形式化技术进行调查的一部分,我遇到了一篇论文,提倡使用单例类型(有一个居民的类型)作为支持依赖类型编程的一种方式。
根据这个来源,在 Haskell 中,运行时值和编译时类型之间存在分离,当使用单例类型时,由于引入的类型/值同构,它们可能会变得模糊。
我的问题是:在这方面,单例类型与类型类或引用/具体化结构有何不同?
对于使用单例类型的类型理论重要性/优势以及它们在多大程度上可以模拟一般依赖类型,我还特别感谢一些直观的解释。
haskell - 用 Haskell 编码“小于”
我希望一些 Haskell 专家可以帮助澄清一些事情。
是否可以以Nat
通常的方式定义(通过 Haskell 中的@dorcard Singleton 类型)
(或其一些变体),然后定义一个LessThan
关系,使得 foralln
和m
然后编写一个类型如下的函数:
我明确地想在输出类型中使用“LessThan” foo
,我意识到人们当然可以写出类似的东西
但这不是我所追求的。
谢谢!
兰吉特。
java - 如何在spring中将birt运行时对象创建为单例
我想创建一个单例 birt 对象,因为 birt 对象是重量级的对象,我是这项技术的新手,所以会有任何帮助。
scala - 将特征限制为对象?
有没有办法限制一个特征,使它只能混入对象?例如
scala - 在生成类型类实例时无法证明单例类型是单例类型
假设我有一个类型类来证明无形联积中的所有类型都是单例类型:
我们可以证明它与一个简单的 ADT 一起工作:
进而:
现在我们想将其与 Shapeless 的Generic
机制结合起来,这将为我们提供 ADT 的联积表示:
我希望implicitly[EnumerableAdt[Foo]]
工作,但事实并非如此。我们可以使用它-Xlog-implicits
来获取有关原因的一些信息:
Baz.type
不过,显然是单例类型。我们可以尝试Witness
手动将实例放入范围内,只是为了好玩:
不知何故,现在它起作用了:
我不明白为什么这些实例会在这种情况下工作,而由Witness.apply
宏方法(我们用来创建它们)生成的那些却不能。这里发生了什么?是否有一种方便的解决方法,不需要我们手动枚举构造函数?
scala - Scala:有没有办法创建内联类型?
基本上,我希望能够写出这样的东西:
x 和 y 的类型不兼容,但要么共享一个超类型,要么可以使用上下文边界进行注释,从而允许我执行以下操作:
此处使用的关键字仅作为示例,目标是能够为某些标识符/关键字/字符串提供文字和单例类型。这些类型也可能在运行时被删除/统一,我只对静态类型检查感兴趣。我想应该可以使用宏来实现这一点,但我宁愿不这样做。
scala - 我可以通过简单的方法在 Scala 中获得未包装的单例类型吗?
在 Scala 中,在围绕 Miles Sabin 的 shapeless 库的讨论中,我看到过这样的代码:
像这样的地方:
有类型Option[Constant(name).type]
。我想“为什么要把它包装在一个Option
”中?但如果我试试这个:
thenname2
有类型String
,而我本来希望它是Constant(name).type
。我错过了什么?是否有不涉及包装单例类型的解决方法?