Update of /project/lispfaq/cvsroot/lispfaq In directory common-lisp.net:/tmp/cvs-serv22921
Modified Files: executable.xml faq.xml Log Message:
- add provisional answer for "standalone executable"
- add id to the first sect1
Date: Tue Mar 23 08:43:37 2004 Author: emarsden
Index: lispfaq/executable.xml diff -u lispfaq/executable.xml:1.1 lispfaq/executable.xml:1.2 --- lispfaq/executable.xml:1.1 Mon Mar 22 13:55:25 2004 +++ lispfaq/executable.xml Tue Mar 23 08:43:36 2004 @@ -2,4 +2,75 @@ <question> <para>How do I make an executable from my programme?</para> </question> + + <answer> + <para> + This depends on your implementation; you will need to consult + your vendor's documentation. + </para> + <itemizedlist> + <listitem> + With ECL and GCL, the standard compilation process will + produce a native executable. + </listitem> + <listitem> + With <productname>LispWorks</productname>, see the + <emphasis>Delivery User's Guide</emphasis> section of the + documentation. + </listitem> + <listitem> + With <productname>Allegro Common Lisp</productname>, see the + <emphasis>Delivery</emphasis> section of the manual. + </listitem> + </itemizedlist> + + <para> + However, the classical way of interacting with Common Lisp + programs does not involve standalone executables. Let's consider + this during two phases of the development process: programming + and delivery. + </para> + + <para> + <emphasis role="bold">Programming phase</emphasis>: Common Lisp + development has more of an incremental feel than is common in + batch-oriented languages, where an edit-compile-link cycle is + common. A CL developer will run simple tests and transient + interactions with the environment at the <acronym>REPL</acronym> + (or Read-Eval-Print-Loop, also known as the + <emphasis>listener</emphasis>). Source code is saved in files, + and the build/load dependencies between source files are + recorded in a system-description facility such as ASDF (which + plays a similar role to <emphasis>make</emphasis> in + edit-compile-link systems). The system-description facility + provides commands for building a system (and only recompiling + files whose dependencies have changed since the last build), and + for loading a system into memory. + </para> + <para> + Most Common Lisp implementations also provide a "save-world" + mechanism that makes it possible to save a snapshot of the + current lisp image, in a form which can later be restarted. A + Common Lisp environment generally consists of a relatively small + executable runtime, and a larger image file that contains the + state of the lisp world. A common use of this facility is to + dump a customized image containing all the build tools and + libraries that are used on a given project, in order to reduce + startup time. For instance, this facility is available under the + name <function>EXT:SAVE-LISP</function> in CMUCL, + <function>SB-EXT:SAVE-LISP-AND-DIE</function> in SBCL, + <function>EXT:SAVEINITMEM</function> in CLISP, and + <function>CCL:SAVE-APPLICATION</function> in OpenMCL. The + </para> + <para> + <emphasis role="bold">Application delivery</emphasis>: rather + than generating a single executable file for an application, + Lisp developers generally save an image containing their + application, and deliver it to clients together with the runtime + and possibly a shell-script wrapper that invokes the runtime + with the application image. On Windows platforms this can be + hidden from the user by using a click-o-matic + <productname>InstallShield</productname> type tool. + </para> + </answer> </qandaentry>
Index: lispfaq/faq.xml diff -u lispfaq/faq.xml:1.1 lispfaq/faq.xml:1.2 --- lispfaq/faq.xml:1.1 Mon Mar 22 13:55:25 2004 +++ lispfaq/faq.xml Tue Mar 23 08:43:37 2004 @@ -59,7 +59,7 @@ url="http://www.common-lisp.net/project/lispfaq/%22%3Ehttp://www.common-lisp.net/...</ulink>. </para> </abstract> - <sect1><title>This newsgroup</title> + <sect1 id="newsgroup"><title>This newsgroup</title> <qandaset> &purpose; &on-topic;