I am very familiar with the concept of a potential function, and potential energy, from calculus-based physics.

For instance, if we have the familiar force field $\mathbf{F} = -mg \,\mathbf{j}$, then a potential function is given by $U = mgy + C$. (Since potential energy is relative, we have an infinite number of potential functions.)

Notice that the gradient of the potential function is the negative of the force field: $$\nabla U = \nabla(mgy + C) = mg \,\mathbf{j} = -\mathbf{F}.$$

That was perfectly fine with me. But now in vector calculus, I am reading that the potential function $f$ of a vector function $\mathbf{F}$ is such that $\nabla f = \mathbf{F}$. A negative sign appears to have been lost when migrating from physics to calculus.

It seems confusing to call $f$ a "potential function", since it cannot be interpreted as potential energy in the real world. So why is the calculus nomenclature as it is (i.e., why not call this something else and then say the potential function is the negative of it)?


Question: How do I list all files a given grunt task depends on for a Makefile?
Answer: You could do this with a custom task though it would still be wrapped by normal grunt output.

grunt.registerTask('src', function(){
  var taskConfig = grunt.config(this.args.join('.'));
  var expanded = grunt.task.normalizeMultiTaskFiles(taskConfig);
  expanded.forEach(function(files){
    files.src.forEach(function(file) {
      console.log(file);
    });
  });
});


Command line syntax to list all files for, say, a subtask for jshint called "myFiles" would be grunt src:jshint:myFiles

$ grunt src:jshint:myFiles
Running "src:jshint:myFiles" (src) task
file1.js
file2.js
dir/file3.js

Done, without errors.