我做了一些关于有色Petri网进行大学评估的研究,我需要在Haskell中实现它们。我使用this文档作为起点。
当我尝试在Haskell中导入此模块时:
module SimpleHCPN where
import Data.List
import System.Random
data Net marking = Net {trans :: [Transition marking]}
deriving (Show)
data Transition marking = Transition { name :: String
, action :: marking -> [marking]
}
deriving (Show)
我收到以下错误:
SimpleHCPN.hs:11:37: error:
* No instance for (Show (marking -> [marking]))
arising from the second field of `Transition'
(type `marking -> [marking]')
(maybe you haven't applied a function to enough arguments?)
Possible fix:
use a standalone 'deriving instance' declaration,
so you can specify the instance context yourself
* When deriving the instance for (Show (Transition marking))
我仍然是Haskell的新手,所以会有一点帮助。
谢谢, 丹尼斯
答案 0 :(得分:2)
action
的类型为marking -> [marking]
,并且函数没有类型Show
的实例。
您可以为Text.Show.Functions
的类型类实例导入Show
以获取函数,但我不知道,它是否显示有用的内容或仅"Function"
用于任何函数。