From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!129.240.148.23!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: When to recompile/reeval? Date: 14 Oct 2002 13:58:17 +0000 Organization: Naggum Software, Oslo, Norway Lines: 26 Message-ID: <3243592697125968@naggum.no> References: <3da46228.129380253@netnews.attbi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1034603897 8293 129.240.65.5 (14 Oct 2002 13:58:17 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 14 Oct 2002 13:58:17 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:43851 * Peter Seibel | I guess I'll go read about defsystem and see if I can find that paper | Kent Pitman wrote about what he wants from a build system. Thanks to | everyone who responded. Since nobody has even mentioned this yet, I would like you to consider another option: Do not compile your code in the first place. The great value of running interpreted is that macros you change will affect their uses immediately. If you intend to do a lot of macro programming, you will find that compiling macros and functions using macros is a serious drag on programmer performance. While testing and developing your code interactively, chances are pretty good that you will be far slower than the interpreted environment of your Common Lisp system and that any time you might save in executing compiled code is more than offset by the time you waste with your what-to-compile-when-problem. Programming in Common Lisp is all about not worrying about needless things, and if you need to worry about when a macro is being used because the caller has been compiled before you changed it, you should not ask what to recompile, but what to compile in the first place. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.