The following gives a syntax error related to the anonymous function:
my_function = (f, x, str) ->
alert str + f(x)
my_function (x) -> 1 + x, 12, "The answer is: "
The following works:
my_function = (f, x, str) ->
alert str + f(x)
increment = (x) -> x + 1
my_function increment, 12, "The answer is: "