“UNIX字节流的组成”是什么意思?

时间:2013-12-19 06:53:29

标签: function applicative

在" Lisp In Small Pieces"的书的开头页面中,有一段如下:

  

基于"功能"的想法,一个已经成熟的想法   几个世纪的数学研究,应用语言   无所不在的计算;它们以各种形式出现,例如   Un * x字节流的组合,Emacs的扩展语言   编辑器,以及其他脚本语言。

任何人都可以详细说明" unix字节流的组成"?这是什么意思?以及它与应用/函数式编程有何关系?

谢谢,

/布鲁因

1 个答案:

答案 0 :(得分:1)

我的猜测是,这是对linux下pipe之类的引用。

cal | wc

符号|是调用2个应用程序之间的管道的内容,pipe是内核提供的功能,因此您可以使用使用此类内核API编写应用程序的管道。 / p>

在此示例中,cal只是打印日历的实用程序,wc是一个实用程序,用于计算传递给它的输入中的单词,行和列,在这种情况下输入为管道calwc的结果让你更容易,因为它更实用,你只关心每个应用程序的功能,你不关心,例如,什么是名称参数或在何处分配临时文件以存储输入/输出。

如果没有管道,你应该做类似

的事情
cal > temp.txt
wc temp.txt
rm temp.xt

获取几乎相同的信息。此第二种解决方案也可能产生问题,例如temp.txt已经存在的问题?您将根据什么样的理由告诉您的脚本为您的临时文件选择一个名称?如果其他流程在对calwc的两次调用之间修改您的文件会怎样?