在haskell中解析模式中的错误

mac*_*ium 2 syntax haskell

在实现DFS算法时,我必须使用Imperative功能.这是代码

type ST s a = s -> (a, s)

returnST :: a -> ST s a
returnST a s = (a, s)

thenST :: ST s a -> (a -> ST s b) -> ST s b
(m 'thenST' k) s = k a t where (a, t) = m s
Run Code Online (Sandbox Code Playgroud)

但GHCi 6.12.3在最后一行代码中给出了"模式中的解析错误".我从一篇论文中得到了这段代码.本文作者使用的编译器是否有可能不像现在那样严格的语法规则?以及如何解决此错误?

Fre*_*Foo 6

更改

'thenST'
Run Code Online (Sandbox Code Playgroud)

`thenST`
Run Code Online (Sandbox Code Playgroud)

反引号将普通函数名称转换为中缀运算符.它们可能已由编辑器,文字处理器或文档查看器转换为单引号.