小编sam*_*m46的帖子

Haskell 中的管道字符串到 shell 命令

如何将字符串输入 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 pipe process

2
推荐指数
1
解决办法
496
查看次数

编译Pascal函数返回值赋值

我正在Haskell中编写一个玩具Pascal编译器.我可以生成一个带类型注释的AST.我一直在忽略函数返回值赋值:

function foo : integer;
begin
    foo := 12
end;    
Run Code Online (Sandbox Code Playgroud)

我如何处理这些,因为语法不区分它们和任何其他常规赋值语句?
是否应修改AST以特别突出显示返回值分配?

以及如何在类型检查阶段处理它们(环境包含函数签名和一堆上下文的符号表到目前为止已足够)?

compiler-construction haskell pascal semantics

1
推荐指数
1
解决办法
208
查看次数