title: How are the MAX and MIN functions implemented in Fortran without support for variadic functions?
body: <p>Unless I'm mistaken, there is no way in Fortran to write a function or subroutine with an arbitrary number of arguments (known more succinctly as a variadic function). </p>
  
  <p>For example:
  <code>RESULT = FUNC(A1, A2 [, A3 [, ...]])</code></p>
  
  <p>I know, I can create optional arguments, but the number of arguments is finite and must be manually declared, one by one, in the function definition.</p>
  
  <p>So how then is the Fortran compiler implementing, <code>MAX</code> or <code>MIN</code> which are, in fact,</p>
  
  <p><code>RESULT = MAX(A1, A2 [, A3 [, ...]])</code></p>
  
  <p>What is especially baffling, is that these variadic <code>MAX</code> and <code>MIN</code> functions are, <a href="https://gcc.gnu.org/onlinedocs/gfortran/MAX.html" rel="noreferrer">evidently</a>, part of the Fortran 77 standard. So whatever capability exists to implement these functions must have been available around 1977.</p>