gpt4 book ai didi

Haskell 默认父类(super class)实例

转载 作者:行者123 更新时间:2023-12-02 02:26:16 26 4
gpt4 key购买 nike

我想从一些自定义类的 Num 声明中取出一些样板(称之为单项式和多项式)。而不是写作

instance Num (Monomial) where
f - g = f + (negate g)
abs _ = undefined

有没有办法解决这个问题?我遇到了default superclass instances和一个叫做“the strathclyde haskell enhancement”的东西,如果实现的话可能会让我写一些类似的东西,

class SimpleNum a => Num a where
(+) :: a -> a -> a -- standard ring stuff
(*) :: a -> a -> a
one :: a
zero :: a
instance Num (SimpleNum a) where
f - g = f + (negate g)
abs _ = undefined

处理此问题的常用/简单方法是什么?

最佳答案

处理此问题的通常方法是至少执行以下一项或多项操作:

  1. 经常发牢骚。

  2. 像这样编写辅助函数:

simpleMinus f g = f + (negate g)
  1. 使用类似 Template Haskell 的工具和 Derive .

  2. 尝试实现您提到的扩展。 (不幸的是,这并不像您想象的那么容易。)

关于Haskell 默认父类(super class)实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com