Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中实现Haskell实例?_Python_Haskell_Inheritance_Multiple Inheritance - Fatal编程技术网

如何在python中实现Haskell实例?

如何在python中实现Haskell实例?,python,haskell,inheritance,multiple-inheritance,Python,Haskell,Inheritance,Multiple Inheritance,在Haskell中,如果创建如下实例: instance (Eq a) => POrd (Set a) where ... 那么,如果您需要在python中执行相同的操作,这是否意味着我们正在创建一个名为Set的类,它继承自另一个名为POrd的类,Set继承自一个名为Eq的类?比如: class Eq: ... class POrd: ... class Set(Eq, POrd): ... class POrd: ... class E

在Haskell中,如果创建如下实例:

instance (Eq a) => POrd (Set a) where
    ...
那么,如果您需要在python中执行相同的操作,这是否意味着我们正在创建一个名为Set的类,它继承自另一个名为POrd的类,Set继承自一个名为Eq的类?比如:

class Eq:
    ...

class POrd:
    ...

class Set(Eq, POrd): 
    ...
class POrd:
    ...

class Eq(POrd):
    ...

class Set(Eq): 
    ...

谢谢。

您的Python代码没有假设
Eq
POrd
之间的关系,但是
Set
确实继承了这两个类。它们中的每一个都可能是完全不相关的

如果要使
Eq
继承自
POrd
Set
继承自
Eq
的“链”,将转换为如下内容:

class Eq:
    ...

class POrd:
    ...

class Set(Eq, POrd): 
    ...
class POrd:
    ...

class Eq(POrd):
    ...

class Set(Eq): 
    ...