Subject: Re: compile
From: Erik Naggum <erik@naggum.no>
Date: 28 Jan 2004 10:57:55 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3284276275271451KL2065E@naggum.no>

* Maciej Borecki
| I'm a newbie in lisp programming, is possibly to compile lisp into an
| executable file under linux or windows?  If so plz give me some piece
| of advice or links...

  The most common reason to ask this question is that you want to write
  and run your programs the same way you were used to in languages whose
  tools convert a dead text file into a dead executable file which you
  give the spark of life from the user interface.  Wanting this is not a
  bad thing, but it is not the only option.  Common Lisp environments
  are just like the shell under Unix where you extend the basic language
  with constructs of your own.  Instead of adding an executable to the
  vocabulary of your user interface, the Common Lisp way is to add new
  functions to the Common Lisp environment.  If you are into graphical
  user interfaces, you can add your Common Lisp functions to the Common
  Lisp environment's graphical user interface, too, but this is usually
  so much work that working with the text interface is recommended.

  Integrated development environments are all the rage in all sorts of
  weird programming languages these days, but Common Lisp environments
  have always had integrated editors, and the most obvious example of
  this is Emacs, but there are others.  I highly recommend that you find
  such an editor to write your code, because they all allow you to send
  the code to the Common Lisp compiler or evaluator and then you can see
  the results of your coding, testing, or experimentation immediately.
  What is commonly referred to as the Pedit-compile-link-run» cycle is
  perhaps the largest difference from Common Lisp environments, because
  in Common Lisp, the whole «compile-link-run» part is invoked with a
  single key-stroke (or key-chord) and completes in milliseconds.  This
  interactive coding style is one of Common Lisp's good selling points,
  but it also requires that you keep better track of the changes you
  make to your source code than you would in most other language, since
  you can make changes to the environment in which you compile and run
  your code that do not make it into the source file, in which case you
  lose context information if you have to reload everything from scratch.

  A friend of mine illustrated this problem well.  He is the kind of
  computer user who keeps a lot of things going simultaneously.  All of
  a sudden, the X server crashed and he was thrown out to the login
  prompt.  His sudden grief was very evident on his face, but all he
  said, barely audible, was «My context...».

-- 
Erik Naggum | Oslo, Norway                                      2004-028

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.