我想打开伪tty,并使用生成的从终端连接到子进程上的stdin/stdout。 openPseudoTerminal
给了我一个IO (System.Posix.Types.Fd, System.Posix.Types.Fd)
,我试图翻译成一对使用fdToHandle
GHC.IO.Handle.Fd
(特定于GHC,但我找不到另一个这样的功能)的句柄。但是,我得到以下内容:将FD转换为句柄
liftA (fdToHandle *** fdToHandle) openPseudoTerminal
Couldn't match type `System.Posix.Types.Fd'
with `System.Posix.Internals.FD'
任何想法如何将这两个(大概相似)的东西之间进行转换?
对于奖励积分,这会给我一个IO (IO Handle, IO Handle)
- 有没有一种简洁的方式将其转换为IO (Handle, Handle)
?
现在我只是觉得愚蠢。谢谢! – Impredicative
这两种类型都是'Num'和'Integral'的实例,因此您可以使用'fromIntegral'来回转换。 – raymonad