问题标签 [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 投票
1 回答
204 浏览

sparql - Jena 中的 Reification 和 SPARQL*:兼容性

我可以使用 SPARQL* 查询来查询使用具体化的经典 RDF 模型吗?对我来说,耶拿​​文档在这里有点模糊。

下面的代码创建了一个具体化的语句:

该代码还包含两个查询:(i) 一个经典的 SPARQL 查询,(ii) 一个 SPARQL* 查询。两者都查询<http://www.sayer.de>结果。虽然(i)返回解决方案,但(ii)没有这样做。

我在这里做什么/理解错误?

0 投票
1 回答
209 浏览

c++ - 我们是否需要元类来做到这一点,或者反射就足够了?

所以我一直很期待元类。然后我听说它不会出现在中,因为他们认为我们首先需要在语言中进行反射和具体化,然后才能添加元类。

查看反射,似乎有具体化能力。它们是否足以解决元类的作用?即,元类只是语法糖吗?

使用当前的提案,我们可以复制某人编写如下类型:

并生成如下类型:

更进一步,采取类似于

并且能够生成

Live example,这两个都是我对元类感到兴奋的例子。

我不太担心语法(能够编写一个库并简单地创建多边形值或接口是有用的,确切的语法不是),但我担心它能够做到这一点。

0 投票
2 回答
83 浏览

haskell - 对现有数据类型实施类型类约束

也许有更好的方法来实现我想要的,但这是我目前的尝试。

我正在使用该singletons包以将值具体化为类型。这很好用,但在某些时候,我将不得不运行一个在具体类型中具有多态性的函数,并期望它有一个Typeableinstance。当然,Haskell 中的所有类型都有这样的实例(至少 afaik?),但由于类型变量在编译时是未知的,类型检查器无法找到这样的实例。让我举例说明:

这给了我错误

这很有意义。withSomeSing不保证Sing a传递给 continuation 满足Typeable a.

我可以通过隐藏一些导入来解决这个问题,Data.Singleton而是使用相关约束定义我自己的版本:

这使一切正常,但感觉绝对是糟糕的风格。

因此我的问题是:有什么方法可以导入 and 的原始定义SomeSingwithSomeSing但是用这个额外的约束来增加它们的类型?或者,您如何建议以更好的方式解决这个问题?

0 投票
1 回答
54 浏览

kotlin - 如何使用泛型创建具有类型安全输入的工厂

我正在寻找一种方法将配置输入传递给从基类派生的工厂,并根据该工厂的派生类保存不同的输入参数。

我正在努力寻找实现这一点的好方法。因此,让我展示一下我目前的情况以及问题出在哪里:

这里是工厂界面...

现在提供者界面...

输入类...

最后是提供者实现:

如上所述,在工厂中需要 try-except 真的很糟糕。应该有很好的方法来实现这一点而无需尝试除外。不幸的是,由于类型擦除,无法在转换之前检查类型。使用多态代码无法使用具体类型 afaik。

另一种可能的解决方案是避免在提供程序provide()方法中使用泛型并强制转换为所需的输入类型——但这也不是很好。

你对我如何改进这种工厂有什么建议吗?