小编use*_*372的帖子

Haskell无法将类型`Stack'与`IO'匹配

这是我第一次使用Haskell,我已经阅读了很多关于它的教程.但是在实践中,出现了许多问题.我试图建立一个堆栈数据结构并在Do块中使用它.但是当我这样做的时候.它说不能匹配类型'堆'与'IO',我不知道这个问题.以下是我的代码:

import Data.Array.IO

main::IO()
main = do
     arr <- newArray((0,0),(8,13)) 0 ::IO (IOArray(Int,Int) Int) 
     list <- getElems arr
     print list
     push 0 mystack   --here is the problem
     return()

data Stack a = Stack [a] deriving Show

empty :: Stack a
empty = Stack []

push :: a -> Stack a -> Stack a 
push x (Stack xs)= Stack (x:xs)

pop :: Stack a -> (Maybe a, Stack a)
pop (Stack []) = (Nothing, Stack [])
pop (Stack (x:xs)) = (Just …
Run Code Online (Sandbox Code Playgroud)

io haskell

2
推荐指数
1
解决办法
254
查看次数

标签 统计

haskell ×1

io ×1