问题标签 [reification]

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.

0 投票
2 回答
130 浏览

haskell - 在 Haskell 中使用 Data.Reflection 时,由于类型不明确而无法显示

我对 Haskell 很陌生,并且正在尝试创建一种类型,该类型将代表 Integral 在某个模数上的任何实例。我在网上找到了一些示例代码并正在使用它,所以我的类型定义如下所示:

大多数事情都按照我的意愿进行;我可以显示、加、减等。

但是,我无法显示这些类型的算术运算结果。例如,在 GHCi 中:

我发现这个问题在我尝试实现这些数字的许多其他方式中出现,并且了解 Data.Reflection 包的工作方式给我带来了一些麻烦。我也会对其他人似乎更自然的任何其他实现感到好奇。我最初尝试做类似的事情

并切换,因为我认为它会简化事情,它并没有特别。干杯!

0 投票
4 回答
15217 浏览

c# - 什么是物化?

我知道Java通过擦除实现了参数多态性(泛型)。我明白什么是擦除。

我知道 C# 通过具体化实现了参数多态性。我知道这可以让你写作

或者您可以在运行时知道某些参数化类型的类型参数是什么,但我不明白它什么。

  • 什么是物化类型?
  • 什么是物化价值?
  • 当类型/值被具体化时会发生什么?
0 投票
1 回答
186 浏览

scala - 如何在准引用中添加评论

我正在尝试为这样的准引号插入类注释

但它抛出一个异常

0 投票
2 回答
261 浏览

rdf - 本体中对象属性的属性

如何将属性与本体中的对象属性相关联?

我遇到了一种可以将对象属性定义为类的方法。但是这种方法使定义规则变得困难。还有其他方法吗?

0 投票
1 回答
66 浏览

java - Clojure deftype 引用其他类型

尝试使用另一种类型中的一种似乎不起作用:

如何让 Foo 对 Bar 可见?

0 投票
1 回答
175 浏览

scala - 如何在scala运行时检查我是否在@specialized函数或类中?

假设我有一个专门的类和一个关联的伴随对象:

有什么方法可以检查

  1. 如果此实例是专门的子类,则在 Slice 的方法中,
  2. 如果另一个实例是同一原语的专用子类,则在 Slice 的方法中,
  3. 如果我正在运行已擦除或专用变体,则在伴生对象上的专用方法中

不求助于 ClassTags 或手动传递 Class[_]?似乎该信息应该可用,但我能想到的唯一方法是检查类的名称。

用例 2) 特别重要,因为如果我知道我在比较苹果和苹果,我可以求助于更快的算法。它可能可以通过反射来完成,但考虑到我们也必须处理 Slice 的非合成子类,这将是相当棘手的;如果我们也有

只要它们都是专用的(或都被擦除),就应该被认为与 Slice[T] 实例“兼容”?

0 投票
1 回答
2326 浏览

function - Kotlin:带有 get/set 运算符的具体泛型的 UnsupportedOperationException

我正在尝试将函数readwrite在我的库中分别转换为运算符函数getset。我的函数使用具体的泛型类型,它们也是内联方法。(你可以在这里看到我的图书馆。)

编译器让我通过没有问题,我不明白为什么使用非运算符函数推理工作得很好,但在运行时使用运算符会失败。

代码如下:

有趣的是,我可以使用中缀函数很好地做到这一点,例如:

我也可以与其他运算符一起执行此操作,例如这两个工作:

我还注意到它甚至invoke可以正常工作!这很奇怪,因为它似乎两者invokeget具有相同的实现。

operator inline fun <reified T> invoke(bar: Int) = foo<T>(bar)

但是,如果我将以下函数添加到 example:operator inline fun <reified T> get(bar: Int) = foo<T>(bar)然后尝试以下调用,我会遇到错误:val get: Any = example[12345]

0 投票
3 回答
479 浏览

prolog - SWI Prolog Clpfd 库 - 物化

我有一个即将举行的逻辑考试,并且一直在研究我课程中过去的一些论文。我遇到了一个关于具体化的问题,并将其发布在下面;

通过使用它来表示变量 B 可以取值 1 或 8 的属性来说明具体化。

在阅读了一些资源并查看了 SWI Prolog 手册之后,我仍然发现物化的概念相当混乱(主要是学习 Java,因此转向学习 Prolog 很困难)。在 prolog 查询中使用布尔逻辑非常令人困惑。

如果没有具体化,我将不得不编写以下代码(我知道这太长了,不能成为正确的答案);

如果有人可以向我展示上述查询,但使用具体化,将不胜感激。

0 投票
2 回答
1721 浏览

java - 为什么 Function.identity() 打破类型具体化但 t -> t 没有?

在Java 8 lambdas、Function.identity() 或 t->t中找到的答案似乎暗示这Function.identity()几乎总是等同于t -> t. 但是,在下面看到的测试用例中,替换t -> tFunction.identity()会导致编译器错误。这是为什么?

案例 1 编译得很好,但案例 2 失败:

我的环境是 Windows 10,64 位,Oracle JDK build 1.8.0_92-b14。

更新:看到这是在 ecj 下编译的,我有一个后续问题:这是一个错误javac吗?JLS对此案有什么看法?

0 投票
1 回答
279 浏览

rdf - OWL 双关语可以帮助定义对象属性的数据属性吗?

双关语(在 OWL 2 DL 中引入)允许为类和对象属性赋予相同的名称 (IRI)(参见关联示例)。

我可以使用这种元建模方式在关系上附加属性吗?

例如,关系drives连接PersonVehicle。我想指定驱动 的,并且velocityVehicle属性属于drives。Punning 允许我drives通过指定一个类和一个名为的对象属性来建模为一个关联类drives。我猜这将允许我拥有以某种方式与它们关联的数据属性的对象属性。

我想知道这是否是正确的方法。我错过了什么吗?