获取函数和值的函数的名称以及将函数应用于值后的返回值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取函数和值的函数的名称以及将函数应用于值后的返回值相关的知识,希望对你有一定的参考价值。
我很好奇Lambda Calculus中是否有这个函数的特定名称
const whatsMyName = f => a => { f(a); return a }
这也是正确的签名吗?
// (f -> a -> b) -> a -> a
例
const trace = whatsMyName(console.log)
谢谢!
- 编辑:
这只是S(K)或替换(常数)。我能够解决这个问题,一个更精细的答案和良好的参考:
Functional programming construct for composing identity and side effect
具体答案
https://stackoverflow.com/a/46120634/1560484
谢谢@ftor的评论!
答案
我想出了如何从其他组合器构造它。可能没有特殊名称,它只是从K(常数)和S(替换)派生而来。
const K = x => y => x
const S = f => g => x => f(x)(g(x));
const whatsMyName = S(K)
const trace = whatsMyName(console.log)
编辑:
@ftor的评论指出了一个更完整的答案:
Functional programming construct for composing identity and side effect
以上是关于获取函数和值的函数的名称以及将函数应用于值后的返回值的主要内容,如果未能解决你的问题,请参考以下文章