Dan*_*ter 15 filesystems haskell
我正在使用FSNotify包来监视我的文件系统以更改markdown文件,因此我可以自动通过Pandoc运行它们.但是,我很难让经理退出.
按照目前的情况,我的代码基于Yesod使用相同的包:
module Main where
import System.FSNotify
import Filesystem (getWorkingDirectory)
import System.Exit
import Control.Concurrent
main = do
cwd <- getWorkingDirectory
putStrLn "Watching current directory, press RETURN to exit."
withManager $ \man -> do
_ <- forkIO $ do
watchTree man cwd (const True) $ \fp -> print fp
_ <- getLine
exitSuccess
Run Code Online (Sandbox Code Playgroud)
当我使用时runhaskell,程序运行完美,但如果我将其编译为可执行文件(使用ghc --make),当我按回车键时,我的终端变得没有响应.我正在Windows 7 64位上编译它.
编辑:完成的代码.好吧,还没有完全完成 - 还有更多我想做的事 - 但是工作.
Mat*_*hid 24
每当我看到"在GHCi中工作,在编译时挂起"这一形式的问题时,我认为"你需要线程运行时".
尝试重新编译,-threaded看看是否有帮助.
(GHCi是用这个标志编译的,这解释了它的区别.我记得外部函数调用的工作方式有所不同,这取决于你是否使用线程运行时......)