phplove Posted January 8, 2010 at 08:03 PM Report Share #304877 Posted January 8, 2010 at 08:03 PM viva malta estou com um problema, não estou a ver o como poso fazer para por uma função normal numa de IO ca vai o exemplo dapipe :: String->String dapipe [] = "|" dapipe (h:t)="|"++[h]++ dapipe t ver :: String -> IO String ver f = do { r<-dapipe(f) return r; } Link to comment Share on other sites More sharing options...
Baderous Posted January 8, 2010 at 09:00 PM Report Share #304888 Posted January 8, 2010 at 09:00 PM Ao usares o operador <- com a função dapipe estás a dizer que esta devolve um Monad, o que não é verdade. Lê isto para ver se percebes o que quero dizer. Tu nesse caso, apenas tens de fazer o return, porque o que este faz é construir um Monad com algo lá dentro, sendo esse algo o argumento da função return. Como nesse caso, o argumento é uma string, ele vai construir um Monad String. Link to comment Share on other sites More sharing options...
phplove Posted January 8, 2010 at 09:52 PM Author Report Share #304903 Posted January 8, 2010 at 09:52 PM entao sera uma coisa assim ver :: String -> IO String ver f = do { return (dapipe f); } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now