我正在读一本关于基于约束的静态代码分析的书。(名称:程序分析的原则)在那里我找到了这个代码片段:
let f = fn x => x 7
g = fn y => y
h = fn z => 3
in f g + f (g h)它将被解释为:
f g + f (g h)
| |
v v
g 7 f h
|
v
h 7我明白为什么f g会是g 7。
但是为什么f (g h)被解释为f h呢?应该是g h 3吧?
发布于 2017-03-27 09:36:33
在表达式中,首先将f (g h) g h解释为h (根据g定义),并应用f。
https://stackoverflow.com/questions/43005567
复制相似问题