问题标签 [deriving]
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.
ocaml - Opam 安装派生,语法错误
所以基本上我正在尝试使用 Opam 在我的 Mac 上安装派生库。
我用ocamlfind query
了,好像安装成功了。
安装后,我尝试使用 ocamlbuild 编译一个简单的代码,如下所示:
这是 _tags 文件:
这是命令:
但是,我总是收到此错误:
这很奇怪,我相信语法是正确的..
谁能给我一些帮助?
ocaml - 如何在 OCaml 中同时使用衍生和电池?
所以基本上在我的项目中,我需要同时使用batteries
(forFile.lines_of
和其他相关函数) 和deriving
(for Show.show
)。
但是,当我在我的 Mac 上opam
安装包deriving
时,它似乎会首先删除batteries
包,然后它会开始安装deriving
..
并且在使用安装时batteries
,opam
它会首先删除deriving
...
我的配置有什么问题吗..?或者这只是正常情况..?那我怎么能同时使用batteries
和deriving
呢?
arrays - 数组上的 PartialEq
关于 rust 数组的问题(常量大小的数组,[T, ..Size])。我正在尝试进行以下工作:
我知道我不能使用派生并简单地编写自己的 PartialEq,但这相当令人讨厌......给出的错误消息对我来说也很神秘(见下文)。有没有合适的乡村方式来做到这一点?
从今天开始,我每天都在生锈。
谢谢!
haskell - 拉链共胞,一般
给定任何容器类型,我们可以形成(以元素为中心的)拉链,并且知道这个结构是一个 Comonad。最近在另一个 Stack Overflow 问题中对以下类型进行了非常详细的探讨:
搭配以下拉链
虽然它的实例的构造有点毛茸茸,但情况确实Zip
如此。Comonad
也就是说,Zip
可以完全机械地派生自Tree
并且(我相信)以这种方式派生的任何类型都自动是 a Comonad
,所以我认为我们应该可以通用和自动地构造这些类型及其comonads。
实现拉链构造通用性的一种方法是使用以下类和类型族
它(或多或少)出现在 Haskell Cafe 线程和 Conal Elliott 的博客中。此类可以针对各种核心代数类型进行实例化,从而为讨论 ADT 的导数提供了一个通用框架。
所以,最终,我的问题是我们是否可以写
可用于包含上述特定的 Comonad 实例:
不幸的是,我没有运气写出这样的例子。inTo
/签名是否outOf
足够?是否需要其他东西来限制类型?这种情况甚至可能吗?
haskell - 广义新型推导
Haskell 可以推导出MonadState s
inT1
下面的实例,但不是 in T2
which 是非常相似的类型。我应该以哪种方式修改代码T2
以便MonadState s
可以自动派生实例?
haskell - Haskell:创建 Show 的实例
在下面的代码中,我定义了一个代数数据类型,并且我(试图)使它成为 Show 的一个实例。但是,我收到编译时错误(包括在下面)。我究竟做错了什么?
我相信我使用了正确的语法(至少根据这篇文章)。对于上下文,我正在处理“99 Haskell 问题”中的问题 #13
我收到以下编译时错误:
例如,目标是让它在 GHCi 中按如下方式工作:
编辑:对不起,完全不相关的帖子标题 - 现在改变了。
haskell - 从另一个文件中声明的数据派生通用失败
我有这两个模块:
在尝试构建包含这两个文件的项目时,链接阶段的 ghc 会抛出几个如下所示的错误:(它们仅在 (.data+0XXXX) 部分不同)。
最后的信息是:
我用 ghc 7.8.3 和 7.6.3 进行了尝试,它们的行为都相似。
如果将所有代码放入一个模块中,我可以使此功能正常工作。
谁能解释一下,这里发生了什么?
ghc - 为 GADT 导出类型和数据?
使用:
并给出以下数据类型:
我的目标是使用uniplate
需要Data
实例的包。
Typeable
GHC是否能够Data
自动推导?由于 7.8 GHC 应该能够这样做,并且至少因为Typeable
它是强制性的。
我可能可以编写自己的Data
实例......但是如果 GHC 可以为我导出它,为什么要这样做呢?
haskell - 都是可区分的类型 Monad
给定一个可微类型,我们知道它Zipper
是一个Comonad
. 对此,丹·伯顿(Dan Burton)问道:“如果推导产生了一个单子,这是否意味着整合产生了一个单子?或者这是胡说八道吗?”。我想给这个问题一个具体的含义。如果一个类型是可微的,它一定是一个单子吗?给定以下定义,该问题的一种表述是问
我们可以编写具有类似签名的函数吗
遵守单子定律。
在链接问题的答案中,有两种成功的方法可以解决类似的Comonad
为Zipper
. 第一种方法是扩展Diff
类以包括对偶>>=
并使用偏微分。第二种方法是要求类型是两次或无限可微的。
haskell - 通过 GeneralizedNewtypeDeriving 派生实例时使用自定义实例
假设我们有一个 typeclass class (A a, B a) => C a where
。使用newtype
将允许我们克隆数据类型,然后通过GeneralizedNewtypeDeriving
语言扩展自动派生实例(请参阅如何编写可派生类?和处理具有相同内部表示和最小样板的多种类型?)。
问题:是否有可能让 ghc 自动派生A
and C
,但使用我们自己指定的B
in deriving实现C
?
例如,以下代码(其中A
= Planet
、B
= Lives
、C
= Description
)无法按预期工作:
我期待/想要的Dolphin
是Lives
在Description
.
显然,以下程序可以工作,但它需要一个显式实例化Description
for Dolphin
:
ps 令人费解的是,如果(在第一个程序中)我没有声明:
然后 ghc 抱怨:
如果 ghc没有在for的(自动)推导中使用它,instance Lives Dolphin where
它会抱怨缺少,这似乎很奇怪。Description
Dolphin