【发布时间】:2020-10-21 20:01:18
【问题描述】:
通常将两个或多个函数/方法组合在一起并作为一个整体工作。例如:
To "combine" functions in javascript in a functional way?
Is it possible in C++11 to combine functions into a new function?
但是,我想知道是否可以这样做:
Function<Integer, Integer> f = x -> x + 1;
Function<Integer, Integer> g = x -> x * 2;
Function<Integer, Integer> h = f.compose(g);
** **
h.toString //get x-> x*2+1 , what I want
函数被“深度”组合,类似于Matlab等数学软件中的表达式简化。
我知道编译器中有一些有用的技术,我正在寻找如何在高级语言中实现它。
顺便说一句,我想理论上可以使用 JVM 字节码操作,但这太复杂了。
【问题讨论】:
标签: optimization programming-languages program-transformation