typeclass 相关问题

Haskell中的类型类是支持ad hoc多态的语言机制。它们也存在于Scala,Coq和Isabelle中。

为什么我的类型类不满足函数依赖?

我尝试创建一种方法来剥离通用代表的元信息。 在创建类型类并为每个使用的 Rep 类型编写实例时,我遇到一个错误,指出 tw...

回答 1 投票 0

你能使用类型类来模拟 Rust 的 Fn 特性吗?

在 Rust 中,没有函数的类型,而是 Fn 特征,如下所示: 特征 Fn { fn 调用(self, args: A) -> R; } 那么函数的类型可以...

回答 1 投票 0

尝试为函数实现类型类

我正在尝试为函数类型实现类型类: {-# 语言灵活实例#-} 模块 匹配位置 导入令牌(令牌(..)) 类 匹配一个where 匹配 :: (匹配 b) => a -> [

回答 1 投票 0

如何将一个字符等同于 Haskell 中的类型参数?

MRE: 数据 MRE a = 废话 |呃一个| Umm (MRE a) (MRE a) 推导(Eq、Ord、Show) - 功能: foo :: Eq a => Char -> MRE a -> Bool -- 此处 Blah 的模式匹配 -- foo x (Eh e) | x == e =...

回答 1 投票 0

如何让 scala 编译器从一种类型推断另一种类型?

我想创建一个 Scala Id 类型类,这样我就可以声明 Foo 类型的 Id 采用 Long 值,例如 val fooId: Id[Foo] = Id(12L) // 编译时类型安全 val fooIdValue...

回答 1 投票 0

如何重载 haskell 中的某个运算符以在两侧采用不同的类型?

MRE: Foo 类在哪里 myCons :: 字符 -> s -> s myCons c xs = 实例 (Eq, Show) Foo 其中 (:) x y = x `myCons` y 错误:

回答 1 投票 0

如何使用矛盾证据?

在写如何在 Haskell 中进行子类型化时,我想到能够“使用”矛盾的证据(例如 True ~ False)来通知编译器有关 d...

回答 2 投票 0

将新的 Scala 类型类语法与 GADT 类型相结合

我正在用 Scala 编写一个库,并决定使用 3.5.0 版本中引入的更新(实验)语法来处理类型类。所以我的代码有: 特质有边界: 自我类型

回答 1 投票 0

确保您的值包含在 Maybe 中的函数

我想要一个接受参数并返回 Maybe 值的函数。如果参数的类型为 Maybe a,则实现应该是 id,如果参数是其他类型,则实现...

回答 1 投票 0

Haskell - 确保您的值包含在 Maybe

我想要一个接受参数并返回 Maybe 值的函数。如果参数的类型为 Maybe a,则实现应该是 id,如果参数是其他类型,则实现...

回答 1 投票 0

Scala:检查对象是否为数字

模式匹配是否可以检测某些内容是否是数字? 我想做以下事情: DoubleWrapper 类(值:双精度){ override def equals(o: Any): Boolean = o match { 卡斯...

回答 3 投票 0

两个 ReaderT 实例之间的 FunctionK 转换,为结果提供环境

我在服务中使用的效果类型定义如下: 类型 Traced[F[_], A] = ReaderT[F, TracingCtx, A] 类型 TracedErrorHandling[F[_], E, A] = Traced[EitherT[...

回答 1 投票 0

类型类充当接口(??)

在阅读了 Haskell 中的类型类之后,我认为它们就像 Java 接口 您可以在类型类 (Num) 和任何 data/newtype(Foo) 声明的类型中定义一组方法,如果它想成为 p...

回答 1 投票 0

Coq Proof 中使用了错误的类型类实例

我正在尝试基于 CoqExtLib 中定义的有限映射来执行以下证明。但是,我遇到了一个问题,证明中显示的 RelDec 实例与实例不同......

回答 1 投票 0

`type <nameOfType> = Typeclass` 可以编译,但 `type <nameOfType> = (Typeclass, Typeclass)` 不能编译

我一直在阅读有关使用 haskell 类型重命名现有类型的内容,据我所知,该类型仅用于重命名具体类型,例如 Int、Integer、Char、D...

回答 1 投票 0

如何使用 Haskell 中的 Bounded 类型类来定义具有浮点范围的类型?

我预计以下代码会因违反 minBound 和 maxBound 而失败并出现类型错误。但是,正如您所看到的,它在没有标记错误的情况下完成了。 {-# OPTIONS_GHC -

回答 1 投票 0

在 Scala 中使用 `opaque type` 作为类型类

知道为什么这不能编译:https://scastie.scala-lang.org/iPmLyim4Q8aQ2aMNIfj2gA 不透明类型 Global[Value] = Unit 全局对象: def 派生[值]: 全局[值] = () 案例类 Yo() d...

回答 1 投票 0

如何编写一个可以在“obj”以及“Maybe obj”上调用“getField @k”的 Haskell 函数

我正在尝试编写 HTML 表单助手,我希望调用站点支持以下两种用例: {-# 语言AllowAmbigouslyTypes、DataKinds、OverloadedStrings #-} 导入数据.Proxy

回答 1 投票 0

Scala 3 联合类型的给定/隐式

我有一些类型类,例如: 特征示例类型类[A] // 想象这里有一个或多个方法 对象示例类型类: 给定ExampleTypeClass[Int] = new ExampleTypeClass{/* ... */} 给定

回答 1 投票 0

Haskell 调用预期类型的方程时出错

我正在对 haskell 方法执行以下调用 rollD6 :: (RandomGen g, Int a) => Int -> ([a], g) rollD6 次 = 滚动 Die6 次 (mkStdGen 6) rollD6InRange :: (RandomGen g, Int a) =>...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.