【发布时间】:2017-11-27 07:33:53
【问题描述】:
有谁知道名为guards的结构名称的由来吗?
func x
| cond1 -> expr1
...
| condN -> exprN
Wikipedia 文章 Guard_(computer_science) 提供了一些历史观点,但没有解释名称的来源(它只是提到 SASL 是最早使用该名称的人之一)。
到目前为止,我发现了对 Edsger Dijkstra 和他的 Guarded Command Language 的引用。他是第一个使用“守卫”这个词的吗?
【问题讨论】:
-
一个守卫决定谁可以进来,谁可以出去。所以条件决定表达式是否“触发”。
-
接近投票:这个问题(“Dijkstra 是第一个使用‘守卫’这个词的人吗?”)既不宽泛也不基于意见。我不确定计算历史问题是否是主题。我倾向于不这样做,但无论如何,这个问题显然不是关于通用计算硬件和软件的(并且在 SuperUser 上可能会比这里甚至更多离题)。所以我眯着眼睛看目前为止存在的所有接近投票。
-
不是 SASL,KRC。
-
守卫与普通条件没有太大区别。这些已经在(基本上被忽略的)Plankalkül 中(尽管维基百科说它影响了 Algol 58)。
标签: haskell functional-programming guard-statement