&gt; Is there REALLY a difference between a &quot;method,&quot; a &quot;procedure,&quot; and a &quot;function&quot; proper?<p>The context you are speaking in <i>entirely</i> determines the answer to this question.<p>Your context reminds me of &quot;is there REALLY a difference between a &#x27;list&#x27;, an &#x27;array&#x27;, a &#x27;tuple&#x27; and a &#x27;vector&#x27;?&quot;, as different languages overload these terms with different (sometimes the same!) properties.<p>The OP seems to be taking a perspective embedded in operational semantics, where a non-halting, unspecified or incorrect &quot;named callable&quot; should not be properly called a procedure.<p>Personally, I find both kinds of hair-splitting semantic arguments a waste of time when they&#x27;re isolated from the underlying question, which should be:<p>&gt; what sort of conversation do we want to be having about these things?  What notation or terminology is going to make that easier?