# evaluation – How to inline a variable in function definition

I need to compile a function `g` that calls an external function `f`. `f` and `g` are defined as such:

``````r = {0,0,1};
f = # - r &;
g = Compile[{{a, _Real}}, f[a], CompilationOptions -> {"InlineExternalDefinitions" -> True}]
``````

But this way `r` will be held, and `g` will assume it to be a real number instead of a vector, throwing type error when trying to find `a - r`. How can I inline `r` such that `f = # - {0,0,1}&`? `Evaluate` doesn’t work because the result will be `f = {#, #, #-1}&`.