<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 07/02/2020 à 10:30, Federico Miyara
      a écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:776785e7-98f8-817e-e036-50564dddf2f1@fceia.unr.edu.ar">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font face="Courier New"><br>
        Stéphane,<br>
        <br>
        Thanks for the explanation.<br>
        <br>
        I find it </font><font face="Courier New">already </font><font
        face="Courier New">dangerous that a function be aware of the
        calling level variables of equal name. But allowing so even for
        input arguments is too much. I agree with you.<br>
        <br>
        Generally, variables inside a function are bound or dummy
        variables. Any other variable or parameter to be collected from
        the context should be passed through the arguments. This is much
        safer and better programming style, I think, since everybody is
        aware of the </font><font face="Courier New"> previously
        assigned </font><font face="Courier New">variables </font><font
        face="Courier New">required </font><font face="Courier New">to
        be to be able to apply the function.  <br>
        <br>
        I guess a macro designed for general use will never ever exploit
        this feature...</font></blockquote>
    <p><br>
    </p>
    <p>There are always exceptions ;-)<br>
      Because, despite its drawbacks, this feature can also be very
      handy when there is an important needed context.<br>
    </p>
    <p>Noticeably in case of recursivity.</p>
    <p>So, things are not all white or black.</p>
    <p>When you see an Object-Oriented Programming language, almost
      nothing is passed through input parameters.<br>
      The major useful and used contents are "implicit" and contextual,
      in classes.<br>
      <br>
      This makes OOP IDEs such Eclipse or others almost mandatory, to
      easily get explicitly the hidden context of any object (or
      function). Otherwise, programming would turn just awful.</p>
    Samuel<br>
    <p> <br>
    </p>
  </body>
</html>