Haskell,顺序程序流程?

标签 haskell

抱歉,因为这可能看起来是一个非常奇怪的问题。我在 haskell 方面的所有经验都是编写通常递归进行的函数(并且一些数据元素随着每次迭代而减少)。但是,我有一组函数,每个函数对一段数据进行一些处理,并且我希望我的调用方法包含每个阶段,例如

(伪代码)

myFunc1 :: Something1 -> Something2

execute myFunc1 Something1
.
execute myFunc2
.
execute myFunc3
.
execute myFunc4
.

return Something2

但我不确定这是否可能?我是否只需要做一些愚蠢的事情,例如:

myFunc4(myFunc3(myFunc2(MyFunc1(Something1))))

编辑:上面的行肯定不可能是正确的!

最佳答案

使用函数调用运算符$ :

myFunc4 $ myFunc3 $ myFunc2 $ myFunc1 $ Something1

或者函数组合:

myFunc4 . myFunc3 . myFunc2 . myFunc1 $ Something1

或者:

let x = myFunc1 Something1 in
let y = myFunc2 x in
let z = myFunc3 y in
myFunc4 z

关于Haskell,顺序程序流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8107875/

相关文章:

regex - 你如何在 Haskell 中说明正则表达式模式?

尽管搜索路径,但未找到 Haskell Stack `exec` 可执行文件

Haskell:嵌套仿函数上的 fmap

haskell - 在 M 中是否存在单子(monad)自然的非同一性单子(monad)态射 M ~> M?

haskell - 如何获得 ByteString 的 Ptr?

haskell - 由于缺少依赖项,堆栈构建失败

python - 从 RLE 模式中删除代码重复,而不求助于 Haskell?

haskell - react 香蕉中的推与拉

haskell - 随机数生成器的最佳选择

Haskell 语言报告 : definition of reservedid