如何将字符串输入 shell 命令并获取它在 Haskell 中产生的输出?
例如,考虑到:
> myHaskellProg
"blah"
> myHaskellProg | wc
4
Run Code Online (Sandbox Code Playgroud)
我想
> myHaskellProg
Run Code Online (Sandbox Code Playgroud)
4通过调用wc并打印结果来打印
我能够使用process's调用 shell 命令callCommand
,但如何通过管道将字符串传递给它并返回结果或 stderr?
我正在Haskell中编写一个玩具Pascal编译器.我可以生成一个带类型注释的AST.我一直在忽略函数返回值赋值:
function foo : integer;
begin
foo := 12
end;
Run Code Online (Sandbox Code Playgroud)
我如何处理这些,因为语法不区分它们和任何其他常规赋值语句?
是否应修改AST以特别突出显示返回值分配?
以及如何在类型检查阶段处理它们(环境包含函数签名和一堆上下文的符号表到目前为止已足够)?