[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