最左边和最外面(Haskell)

has*_*oob 2 haskell

我必须展示Haskell需要计算多少步骤(两种方式 - 最左边的最里面和最左边的最外面的).它是为了这个功能

minimum [7,4,2,8]
Run Code Online (Sandbox Code Playgroud)

最小值定义为

minimum xs = head (isort xs)
Run Code Online (Sandbox Code Playgroud)

所以最里面的(?)步骤是:

1. minimum [7,4,2,8]
2. head (isort [7,4,2,8])
3. head (isort [4,7,2,8])
4. head (isort [2,4,7,8])
5. head [2:4:7:8]
6. (The output) => 2
Run Code Online (Sandbox Code Playgroud)

我对吗?我看不到另一种方法来解决它..但应该有一个..?

(抱歉英语不好)..

感谢帮助.

Gui*_*ido 6

你(可能)忘记了

4.   head (isort [2,4,7,8])
4.1  head (2 : isort [4,7,8])
4.2  head (2 : 4 : isort [7,8])
4.3  head (2 : 4 : 7 : isort [8])
4.4  head (2 : 4 : 7 : 8 : isort [])
4.4  head (2 : 4 : 7 : 8 : [])
(only now is head's argument a value)
5.   2
Run Code Online (Sandbox Code Playgroud)

通过最外层的评估

4.   head (isort [2,4,7,8])
4.1  head (2 : isort [4,7,8])
5    2
Run Code Online (Sandbox Code Playgroud)