嗨,我正在尝试为定义如下的 Haskell 堆栈创建 pop 和 push 函数:
data mystack = Empty | Elem Char mystack deriving Show
如果我没有这个定义限制,我会像这样推动
push x mystack = (x:mystack)
像这样流行
pop mystack = head mystack
但是有了这个限制,我不知道如何实现这些功能。你能给我一些提示吗?我什至无法自己编写带有该描述的 Stack 类型。