The simple answer is: you cannot and should not try. This is out of scale and can be detrimental if allowed. There are several options that you can think of a problem differently.
pass y as a function first
foo<-function(x,y=min){ m<-1:10 x+y(m) }
If a simple function does not work, you can move m to the argument with the default value.
foo<-function(x,y=min(m),m=1:10){ x+y(m) }
Since this is an example of a toy, I would suggest that it would be too trivial. If you insist on breaking the area, you can pass it as an expression that is explicitly evaluated.
foo<-function(x,y=expression(min(m))){ m<-1:10 x+eval(y) }
Then it is possible to return a function from another function. And it may work for you, depending on your goal.
bar<-function(f)function(x,y=f(m)){ m<-1:10 x+y } foo.min<-bar(min) foo.min(1) #2 foo.max<-bar(max) foo.max(1) #10
But now we are starting to laugh.
Andrew Redd
source share