This tripped me up last week when I was reading Futamura’s paper on partial evaluation (i .e., Futamura projections). I’m not used to the “apply” terminology for functions, even though I learned the lambda calculus in grad school over a decade ago.
to my mind the function has always been the definition of the process and the data what that process, well, applies to. so you apply the function to the data and get an output.
(though new data is created as a result of running the function, technically this is guaranteed to not affect the inputs due to the function having to be pure)
I've never been quite sure when I'm applying data to a function, or applying a function to some data
This tripped me up last week when I was reading Futamura’s paper on partial evaluation (i .e., Futamura projections). I’m not used to the “apply” terminology for functions, even though I learned the lambda calculus in grad school over a decade ago.
to my mind the function has always been the definition of the process and the data what that process, well, applies to. so you apply the function to the data and get an output.
Is the data changing or the function changing?
In a functional language, neither
(though new data is created as a result of running the function, technically this is guaranteed to not affect the inputs due to the function having to be pure)
(perhaps this is excessively pedantic)
2 replies →