小编use*_*947的帖子

将整数表示为函数(教会数字?)

给定以下函数定义并假设所有正整数的类似定义给出了一个名为plus的函数的类型定义和代码,它将把两个这样的函数作为参数表示整数并返回一个表示两个输入整数之和的函数.例如,(plus one two)应该评估一个带有两个参数f x并返回的函数(f(f(f x))).

one f x = f x
two f x = f (f x)
three f x = f (f (f x)))
Run Code Online (Sandbox Code Playgroud)

等等

我是函数式编程的新手,我无法理解这一点.我首先不知道如何定义所有正整数的函数而不将它们写出来(这显然是不可能的).如果我有plus(sixty, forty),我的功能怎么能识别六十次被应用60次x

我打算在米兰达写这篇文章,但我对Haskell更熟悉,所以欢迎任何一方的帮助.

haskell miranda

5
推荐指数
2
解决办法
941
查看次数

标签 统计

haskell ×1

miranda ×1