git » jacl.git » commit bd86b93

index.md => README.md

author Alan Dipert
2020-04-17 16:41:56 UTC
committer Alan Dipert
2020-04-17 16:41:56 UTC
parent 64aa5e1fa4d2865e30218cebbdc8ee93ace8f0d1

index.md => README.md

Makefile +1 -1
README.md +22 -45
index.html.m4 +1 -1
index.md +0 -22

diff --git a/Makefile b/Makefile
index eb60289..f90151e 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ CF_DIST := E6GOTXLS9MCZF
 
 all: jacl-dist.zip index.html $(PDFS)
 
-%.html: %.html.m4 %.md
+index.html: index.html.m4 README.md
 	m4 $< > $@
 
 %.pdf: %.tex $(BIB)
diff --git a/README.md b/README.md
index 43edbd9..31b35e8 100644
--- a/README.md
+++ b/README.md
@@ -1,45 +1,22 @@
-JACL (JavaScript Assisted Common Lisp) is an experimental Lisp system for the web browser platform. It was created to explore new techniques for large-scale SPA (Single Page Application) development in Lisp.
-
-Specifically, the project goals are to:
-
-1. Implement a useful subset of CL
-2. Interoperate efficiently with JavaScript
-3. Host as much development tooling as possible in the browser so that tools may organically evolve with the applications they’re used to build
-4. Support the delivery of applications competitive in size and speed with respect to those produced by JavaScript tools
-
-## Why not JavaScript?
-
-The JavaScript language is Lisp-like in that it is garbage-collected,
-dynamically typed, and multi-paradigm. However, developing applications
-incrementally in a REPL in the traditional Lisp way is not well supported
-because JavaScript does not have a system of first-class global names.
-
-JavaScript modules are files that represent a closure, and the entire file must
-be reloaded in order for the names exported by the closure to be
-re-instantiated. Dependent files must then also be reloaded. The necessity of
-reloading whole programs after making small changes orients JavaScript toward
-batch development workflows traditionally associated with statically-typed
-languages (and away from the incremental workflows traditionally associated with
-Lisp).
-
-A testament to this trend is the growing popularity of JavaScript with type
-inference extensions. Despite JavaScript being manifestly typed, the JavaScript
-REPL experience is so impoverished that developers find more value in running
-their type checker than in running their program interactively.
-
-## OK, so why not add first-class global namespaces/packages to JavaScript?
-
-A good namespace system could be built as a library, but because programs are
-filled with references to library functions — and because each reference would
-necessarily look like a field access or function call — the code would be quite
-noisy. Global names would also need to be installed using something like a
-function call.
-
-Thus, a namespace system requires syntax support in order to be practical. The
-best syntax support possible, for anything, is Lisp syntax.
-
-## OK, but why Common Lisp (CL)?
-
-In short: because it’s good enough. Despite its warts, CL is a well-specified
-and multi-paradigm language. Most importantly, it is a proven substrate for
-performing incremental development and prototyping new ideas.
+JACL is an experimental Lisp system for the Web browser platform in
+early development. It was created by [Alan
+Dipert](https://tailrecursion.com/~alan) to explore new techniques for
+developing large-scale SPAs (Single Page Application) in Lisp.
+
+If you are interested in following JACL development progress, you may
+sign up for the [JACL News](https://tinyletter.com/alandipert) e-mail
+list to receive short, infrequent updates. Please don't hesitate to
+direct any comments or questions about JACL you may have to the author
+at [alan@dipert.org](mailto:alan@dipert.org).
+
+## Resources
+
+* [jacl-dist.zip](jacl-dist.zip) is the JACL distribution. It includes
+  usage instructions and source code. Source code is available under
+  the terms of the [MIT
+  License](https://opensource.org/licenses/MIT). Note that JACL is in
+  an early and primitive state and that application development is not
+  yet practical.
+* [jacl-demo-els-2020.pdf](papers/jacl-demo-els-2020.pdf) explains the
+  motivation behind JACL, demonstrates its capabilities, and outlines
+  future work.
diff --git a/index.html.m4 b/index.html.m4
index fed1949..bb9f25d 100644
--- a/index.html.m4
+++ b/index.html.m4
@@ -12,7 +12,7 @@
   <header>
     <h1>JACL: JavaScript Assisted Common Lisp</h1>
   </header>
-  esyscmd(`pandoc index.md')
+  esyscmd(`pandoc README.md')
 </body>
 <footer>Last updated: esyscmd(`date')</footer>
 </html>
diff --git a/index.md b/index.md
deleted file mode 100644
index 31b35e8..0000000
--- a/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
-JACL is an experimental Lisp system for the Web browser platform in
-early development. It was created by [Alan
-Dipert](https://tailrecursion.com/~alan) to explore new techniques for
-developing large-scale SPAs (Single Page Application) in Lisp.
-
-If you are interested in following JACL development progress, you may
-sign up for the [JACL News](https://tinyletter.com/alandipert) e-mail
-list to receive short, infrequent updates. Please don't hesitate to
-direct any comments or questions about JACL you may have to the author
-at [alan@dipert.org](mailto:alan@dipert.org).
-
-## Resources
-
-* [jacl-dist.zip](jacl-dist.zip) is the JACL distribution. It includes
-  usage instructions and source code. Source code is available under
-  the terms of the [MIT
-  License](https://opensource.org/licenses/MIT). Note that JACL is in
-  an early and primitive state and that application development is not
-  yet practical.
-* [jacl-demo-els-2020.pdf](papers/jacl-demo-els-2020.pdf) explains the
-  motivation behind JACL, demonstrates its capabilities, and outlines
-  future work.