Timeline for Why doesn't a Composition[] hold its arguments and what can be done about it?
Current License: CC BY-SA 3.0
4 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jul 14, 2014 at 23:42 | history | edited | Mr.Wizard | CC BY-SA 3.0 | added 5 characters in body |
| Jul 14, 2014 at 23:41 | comment | added | Mr.Wizard | @Rojo The only way I know to keep comp[. . .] unevaluated is to make use of Leonid's Stack[_] method in the linked answer; I'll post an implementation of that when I have time. As to your natural way: that is actually what I was thinking when I write the line that is now struck out in the Question, but then thought "no, that's not right." Perhaps that functionality should also be considered or explored? | |
| Jul 14, 2014 at 17:00 | comment | added | Rojo | I haven't given this any thought, but I'd like to point out a couple of feelings. 1) I value (don't ask why) that compositions remain unevaluated if they are not applied to something, instead of turning into a Function. 2) When I read your question, I thought the natural way it should work was a different one (don't ask why, and I DONT THINK it would be beneficial. I just assumed it more natural). Namely, that doing (f@*g)[x] would be like inputting x to g, and then giving the output to f. So for ex, if h holds, (f@*h)[2+2] would give f[h[2+2]], but (h@*f)[2+2] would give h[f[4]]. | |
| Jul 14, 2014 at 3:21 | history | answered | Mr.Wizard | CC BY-SA 3.0 |