typeclass 相关问题

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

显示函数结果haskell

I已通过以下类型类定义以下函数... - 假设我们要创建一个函数 - 执行操作: - - -FMAP INC(强度3) 数据统计a = stre ...

回答 1 投票 0

在haskell中表达式的类型注释中使用类别的班级约束无法正常工作。 我目前正在学习表达式和类型的Haskell Newbie。我最近了解到,在Haskell中指定类型时,可以使用类约束。为了实验,我很高兴...

ghci> a = 3 :: Num a => a ghci> :t a a :: Num a => a ghci> :i Num type Num :: * -> Constraint class Num a where (+) :: a -> a -> a (-) :: a -> a -> a (*) :: a -> a -> a negate :: a -> a abs :: a -> a signum :: a -> a fromInteger :: Integer -> a {-# MINIMAL (+), (*), abs, signum, fromInteger, (negate | (-)) #-} -- Defined in ‘GHC.Num’ instance Num Double -- Defined in ‘GHC.Float’ instance Num Float -- Defined in ‘GHC.Float’ instance Num Int -- Defined in ‘GHC.Num’ instance Num Integer -- Defined in ‘GHC.Num’ instance Num Word -- Defined in ‘GHC.Num’ ghci> :t (==) (==) :: Eq a => a -> a -> Bool ghci> a == 5 False

回答 1 投票 0

双函子与箭头方法

Bifunctor 和 Arrow 方法之间有一些重叠: 类双函子 p 其中 首先 :: (a -> a') -> p a b -> p a' b 第二个 :: (b -> b') -> p a b -> p a b' 双图 ::...

回答 2 投票 0

Haskell 类型类中的乘积和求和类型并行

看起来 Applicative、Monad 和 Arrow 等类型类分别在 Alternative、MonadPlus 和 ArrowPlus 等类型类中具有某种等价的求和类型。例如,应用...

回答 1 投票 0

在 Haskell 中用(广义)箭头编写阶乘

我想在Haskell中用(->)箭头写一个阶乘。我不明白如何将递归转换为循环。我已经设法使用循环为我的阶乘设置一个固定点,但现在有一个公关...

回答 2 投票 0

Arrow 和 Monad,两个独立的视点来组成计算?

我在 Monad.Reader#13 中阅读了 Brent Yorgey 的“The Typeclassopedia”,发现“Functor hierachy”与“Category hierachy”是相互依赖的,如图 1 所示。 并且根据...

回答 1 投票 0

在生产代码中找到了假 IO 类型类的实例,但在测试中未找到

我有很多基于 IO 的操作,最简单的操作之一如下: -- 循环.hs 模块循环where 导入System.Console.ANSI(设置光标位置) 类型 Pos = (Int, Int) setCursorPosition' :: Pos -&...

回答 1 投票 0

精益中的关联类型

在 Rust 中我可以定义以下特征: 特征迭代器 { 输入项目; fn next(&mut self) -> 选项; } 特质可迭代 { 输入项目; 类型迭代器:迭代器<

回答 1 投票 0

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

我尝试创建一种方法来剥离通用代表的元信息。 在创建类型类并为每个使用的 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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.