Haskell派生显示错误
我做了一些关于有色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一个新手,帮助那么一点点将不胜感激。
谢谢, 丹尼斯
action
是marking -> [marking]
类型的,并且不存在类型类Show
为函数的实例。
对于函数,您可以输入Text.Show.Functions
为类型实例Show
,但我不知道,如果它显示任何函数有用或只有"Function"
。
right,thanks :-) –
如果域很小,[Data.Universe.Instances.Show](http://hackage.haskell.org/package/universe-reverse-instances-1.0/docs/src/Data- Universe-Instances-Show.html)是另一种选择。 –
更多相关问题:[1](https://*.com/q/15823732/791604),[2](https://*.com/q/15015698/791604),[3](https ://*.com/q/10551210/791604)。 –