我正在尝试编写一个简单的程序,它从标准输入中读取一行,将其反转,然后打印反转的字符串。
不幸的是,本机getLine
函数读取的是Costring
; 我只能反转String
s;并且没有将 aCostring
带到 a 的函数String
。
我怎样才能修改这个程序来编译?
module EchoInputReverse where
-- Agda standard library 0.7
open import Data.List using (reverse)
open import Data.String
open import Foreign.Haskell using (Unit)
open import IO.Primitive
postulate
getLine : IO Costring
{-# COMPILED getLine getLine #-}
main : IO Unit
main =
getLine >>= (λ s →
-- NOTE: Need a (toString : Costring → String) here. Or some other strategy.
return (toCostring (fromList (reverse (toList (toString s))))) >>= (λ s' →
putStrLn s'))