4
我一直在尝试使用Haskell来运行简单的生产过程。像许多生产过程一样,它涉及改变各地的状态。出于这个原因,这将是非常方便的,让我有一个脚本文件,在那里我可以跟踪的东西,有选择地运行命令为互动哈斯克尔,像Haskell/Intero - 将行发送到Intero REPL缓冲区
-- to start the process
process <- startProcess
-- to stop process
stopProcess
-- to check how things are going
summary <- checkStuff
summary
-- optionally restart bad processes
restartProcesses (getBadProcesses summary)
-- send summary emails
sendSummaryEmails summary ["[email protected]", "[email protected]",
"[email protected]" "[email protected]",
"[email protected]"]
-- set up something big that I don't want to have to retype/paste every time
studentGrades <- getStudentGrades "John Peterson"
gen <- getStdGen
let (randomTest, gen') = generateRandomTest studentGrades gen
compilePdf randomTest
answers <- getAnswers
gradeTest randomTest answers "John Peterson"
这将是,如果真的很酷,喜欢与ESS (Emacs讲统计数据)在R中,如果你可以按下按钮将这些行发送到repl进程。也许分隔线,段落,地区的按钮。有没有办法做到这一点?
例如用ESS,C-Ret
发送一行,C-c C-c
发送一个段落,C-c C-r
发送一个区域。
什么使您无法使用正确的命令和参数将文件加载到repl中?什么让你无法用合适的'main'函数编译代码? – MarLinn
我不想一次全部运行这段代码,我想根据当前的进程状态选择性地将其加载到repl中,并且通过一次按键('C-Ret')做到这一点是一个数量级与键入(10-60个击键)相比性能提升,比emacs中的复制粘贴(约5个按键)效率高5倍。 –
我也可能想要自定义如何在线运行这些线,因此将它们编码为单个命令,然后重新加载模块的效率也低于仅更改脚本中的行并将其加载到缓冲区中的效率。 –