[lispfaq-cvs] CVS update: lispfaq/executable.xml lispfaq/faq.xml
Eric Marsden
emarsden at common-lisp.net
Tue Mar 23 13:43:37 UTC 2004
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/">http://www.common-lisp.net/project/lispfaq/</ulink>.
</para>
</abstract>
- <sect1><title>This newsgroup</title>
+ <sect1 id="newsgroup"><title>This newsgroup</title>
<qandaset>
&purpose;
&on-topic;
More information about the Lispfaq-cvs
mailing list