If I write a function or module that calls another module, how can I get the name of the calling function / module? This would be useful for debugging purposes.
The function Stackwill do almost what you want by providing a list of "tags" (for your purposes, read the "functions") that are in the call stack. It is not bulletproof due to the existence of other functions, such as StackBeginand StackInhibit, but for a start it is very exotic.
Stack
StackBegin
StackInhibit
Stack , . , , Context, . , ( Get, Import, ToExpression Symbol), (, ) .
Context
Get
Import
ToExpression
Symbol