git » jacl.git » commit 2778bb4

paper

author Alan Dipert
2020-02-13 03:49:06 UTC
committer Alan Dipert
2020-02-13 03:49:06 UTC
parent cfdfaa8c2a9578b8dac67ca9e5773fc862c1bac1

paper

paper/jacl-els-2020.tex +17 -31

diff --git a/paper/jacl-els-2020.tex b/paper/jacl-els-2020.tex
index ee9e94b..0c572d7 100644
--- a/paper/jacl-els-2020.tex
+++ b/paper/jacl-els-2020.tex
@@ -141,10 +141,11 @@ the following ancillary affordances:
   \item Ability to produce fast and small deliverable executables.
 \end{itemize}
 
-In this paper, I will describe JACL's design and the current state of
-its implementation. I will also outline major remaining work, such as
-introduction of the Common Lisp Object System (CLOS) and the ability
-to produce optimized deliverables.
+In this paper, I will discuss several previous, similar efforts to
+facilitate the use of Lisp on the Web browser platform. Then, I will
+introduce novel aspects of JACL's design and implementation with
+respect to these works. Finally, I will elaborate on the current state
+of the implementation and outline plans for future work.
 
 \section{Previous Work}
 
@@ -292,9 +293,9 @@ party tools, then its own internals could be simplified to a degree.
 \subsection{ClojureScript}
 
 A discussion of industrial Lisp technology in the SPA setting would be
-incomplete without mention of ClojureScript. ClojureScript is, by a
-wide margin, the most successful Lisp dialect for building SPAs, at
-least with respect to public lists of known users [ref].
+incomplete without mention of ClojureScript. ClojureScript is probably
+the most successful Lisp dialect for building SPAs, at least with
+respect to public lists of known users [ref].
 
 ClojureScript targets JavaScript, and is a dialect of an earlier
 language, Clojure, which targets Java Virtual Machine (JVM)
@@ -309,30 +310,15 @@ to aggressive optimization by the Google Closure Compiler.
 
 In this respect, ClojureScript aligns closely with the JACL project
 goal of competitive application performance. In fact, the author's
-experience with, and admiration for, ClojureScript is one of the
-primary influences of the JACL project.
-
-However, ClojureScript's support for interactive development as
-traditionally performed in Lisp systems is relatively
-weak. Interactive REPLs exist, but they are neither as featureful nor
-as central to the development workflow as they are in traditional
-Common Lisp environments. Most of the tooling associated with
-industrial ClojureScript SPAs is developed on the host, as part of a
-JVM-based compiler toolchain.
-
-Between existing Lisp implementations, it is ClojureScript's success
---- as a mostly static language oriented around batch compilation and
-whole-program reloading --- that renders suspect a central claim of
-this paper: that Common Lisp and prioritizing interactive development
-will make SPA development in Lisp easier and more practical than it
-currently is with ClojureScript.
-
-Only progress on the JACL project will confirm or disconfirm that
-suspicion. In the meantime, JACL development continues in the hope
-that Lisp-based SPA development with JACL will be \emph{at least} as
-practical and productive as it currently is with ClojureScript, but
-with the added benefit of the special affordances of Common Lisp's
-design combined with access to successful historical techniques.
+experience with, and admiration for, ClojureScript is the reason the
+ability to produce high-performance deliverables is considered a
+crucial capability of JACL.
+
+Other than the fact that JACL is a Common Lisp and ClojureScript is
+not, the biggest difference between the two is JACL's promotion of a
+dynamic, interactive environment for SPA development. In contrast, the
+the typical ClojureScript SPA development workflow is characterized by
+alternating batch compilation and whole-program reloading.
 
 \section{Design and Implementation}