相关疑难解决方法(0)

我应该使用类型类吗?

我在使用时以及何时不在我的代码中使用类型类时遇到一些困难.我的意思是 创建我自己的,当然不是使用已定义的类型类.通过示例(非常愚蠢的例子),我应该这样做:

data Cars = Brakes | Wheels | Engine
data Computers = Processor | RAM | HardDrive  

class Repairable a where
    is_reparaible :: a -> Bool

instance Repairable Cars where
    is_repairable (Brakes) = True
    is_repairable (Wheels) = False
    is_repairable (Engine) = False

instance Repairable Computers where
    is_repairable (Processor) = False
    is_repairable (RAM)       = False
    is_repairable (HardDrive) = True

checkState :: (Reparaible a) => a -> ... 
checkState a = ...
Run Code Online (Sandbox Code Playgroud)

(显然,这是一个愚蠢的,不完整的例子).

但这有点用处,不是吗?为什么我不应该做一些简单的事情而只定义函数而不定义新的数据类型和类型类(带有它们的实例).

这个例子太简单了,但事实上,当我在github上浏览Haskell代码而不是仅定义函数时,我常常会看到类似的东西(新数据类型+类型类+实例).

那么,当我应该创建新的数据类型,类型类等时,我应该何时使用函数?

谢谢.

haskell

27
推荐指数
2
解决办法
1376
查看次数

标签 统计

haskell ×1