Functions and mixins are not first-class in Sass, meaning they cannot be passed as arguments to other functions or mixins.
In Sass 3.3, there is a new function called call()
which will give you the behavior you're looking for:
@mixin hover($action, $color, $amount) {
color: call($action, $color, $amount);
}