<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 4/13/2011 2:35 PM, Ryan Davis wrote:
    <blockquote cite="mid:4DA5ECD7.5000503@acceleration.net" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      When working on a larger lisp code base, one with 10+ files in one
      package, I begin to get nervous about accidental name conflicts,
      and was wondering how other people deal with this.<br>
      <br>
      Here's the scenario I'm worried about:<br>
      <ul>
        <li>dsl.lisp, written by a coworker two years ago, has a number
          of small functions that are helpers for the main
          #'WRITE-DSL-REPORT function; one of these helpers is
          #'GET-WAN-IPS<br>
        </li>
        <li>nagios-config.lisp, written by me today, has a number of
          small functions that are helpers for the main
          #'WRITE-NAGIOS-CONFIG function; one of these helpers is
          #'GET-WAN-IPS</li>
        <li>I miss the compiler warning about redefining #'GET-WAN-IPS<br>
        </li>
        <li>I test my code, it works in my REPL so I commit and call it
          a day<br>
        </li>
        <li>Code eventually gets pushed to production and
          #'WRITE-DSL-REPORT is broken<br>
        </li>
      </ul>
      It doesn't happen very often (and testing procedures usually catch
      stuff before it goes to production), but it seems like there
      should be a nicer way to deal with helper functions that you want
      to develop/test from the REPL, but don't need to be used outside
      the current file.  <br>
    </blockquote>
    <br>
    The compiler warning should not have been missed. We have a "no
    warnings" policy so warnings stand out, and I use the option in the
    AllegroCL IDE that has it pop up a dialog on warnings (so I /really/
    cannot miss them).<br>
    <br>
    I suspect also that there may be a problem with the conclusion that
    the code has been tested and works because it works in a REPL. <br>
    <br>
    Absent those two issues, there is no longer a problem. :)<br>
    <br>
    kt<br>
    <br>
  </body>
</html>