Commit ea413e78 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Some tweaks. Extend summary to 1) ASDF, 2) Evolving ASDF.

parent 34fa11f3
......@@ -184,7 +184,7 @@ We will discuss this further in Section~\ref{sec:plan-generation}.
:licence "Public Domain"
:depends-on (foo-utils)
:components ((:file "packages")
(:file "macros"
(:file "macros"
:depends-on ("packages"))
(:file "classes"
:depends-on ("packages"))
......@@ -194,8 +194,8 @@ We will discuss this further in Section~\ref{sec:plan-generation}.
:depends-on ("macros")
:serial t
:components
((:file "hello")
(:file "goodbye")))))
((:file "hello")
(:file "goodbye")))))
\end{verbatim}
\end{minipage}
\caption{Sample {\ASDF} system definition.}
......
......@@ -933,7 +933,7 @@ With all the things we added,
and almost quadrupled since the original author left.
Our release 2.008 is 146448 bytes long;
1.369, the last release by Gary King was 77079 bytes long;
the last version by Daniel Barlow, in 2004, was 38881 bytes long.
1.85, the last version by Daniel Barlow, in 2004, was 38881 bytes long.
\label{poiu}
......
......@@ -3,9 +3,8 @@
#+BEAMER_FRAME_LEVEL: 2
#+TITLE: Evolving ASDF
#+DATE: International Lisp Conference, 19 October 2010
#+AUTHOR: Fran\c{c}ois-Ren\'e Rideau^{1} \and Robert P. Goldman^2
#+BEAMER_HEADER_EXTRA: \usetheme{default}\usecolortheme{default} \subtitle{More cooperation, less coordination} \author{\begin{tabular} \ Fran\c{c}ois-Ren\'e Rideau \\ ITA \\ Cambridge, MA \end{tabular} \and \begin{tabular} \ Robert P. Goldman \\ SIFT, LLC \\ Minneapolis, MN \end{tabular}} \AtBeginSection[]{\begin{frame}<beamer> \frametitle{Outline} \tableofcontents[currentsection]\end{frame}}
#+AUTHOR: François-René Rideau \and Robert P. Goldman
#+BEAMER_HEADER_EXTRA: \usetheme{default}\usecolortheme{default} \subtitle{More cooperation, less coordination} \author{\begin{tabular} \ François-René Rideau \\ ITA Software \\ Cambridge, MA \end{tabular} \and \begin{tabular} \ Robert P. Goldman \\ SIFT, LLC \\ Minneapolis, MN \end{tabular}} \AtBeginSection[]{\begin{frame}<beamer> \frametitle{Outline} \tableofcontents[currentsection]\end{frame}}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
......@@ -34,41 +33,46 @@ sub-bullet under a major header.
** I have 20 slides in the current draft
* Summary
** COMMENT Only 1 slide here
** In a nutshell
*** /Evolving/ ASDF
**** Fixing up ASDF --- not wrecking it
***** a key piece of CL community plumbing
*** We discovered
**** Interesting technical challenges
***** From hot-patching
***** From CL pathnames
**** Interesting social challenges
*** Some principles
**** Don't wreck backward compatibility
**** Configuration
***** Let users configure based on what they know
***** Let library authors configure based on what /they/ know
** COMMENT Two slides here, for context
** ASDF
*** "build system": compile source files
**** a bit like =make= for C or =ant= for Java
*** "in image": also load software
**** totally unlike either =make= or =ant=
**** maintain long-live system state
*** "declarative": describe system dependencies
**** not imperative instructions on how to build
*** specialized: oriented toward Lisp software
**** not for arbitrary tasks with dependencies
*** a key piece of CL community plumbing
** /Evolving/ ASDF
*** Fixing up ASDF
**** numerous issues: pathname limitations, difficult configuration, dependency bugs, fasl mess, portability, missing extension hooks
*** not wrecking it in the process
**** numerous existing users: some depend on obscure features, existing bugs, undocumented internals...
*** We discovered interesting challenges
**** technical: hot upgrade
**** social: responsibility over upgrade, configuration
*** Development principles
**** some very well known, some less well known
* What is ASDF?
** COMMENT 4 slides here
** ASDF is the dominant build system for CL
*** Plays a role superficially akin to =make= or =ant=
*** But must do more
**** Not just build, but load
**** Maintain coherence of long-lived CL images
***** Not always going back to a clean slate like other tools
** dominant build system for CL
***** COMMENT what is this thing below about?
***** COMMENT Not always going back to a clean slate like other tools
*** Built on the shoulders of giants
**** =MK-DEFSYSTEM=
**** Symbolics and other proprietary =DEFSYSTEM= versions
**** =BUILD=
**** kmp's MIT AI Memo 801, rer's MIT AI TR 874.
*** Brilliant key idea establishes ASDF dominance
**** Use =*load-truename*= to find system component files
**** Suddenly, installing CL systems is easy
+ No more wrestling with logical pathnames
+ Especially since logical pathnames are insufficiently portable
......@@ -99,12 +103,12 @@ sub-bullet under a major header.
:version "1.0.1"
:author "Fare and RPG"
:depends-on (cl-ppcre)
:components ((:module "mod"
:components ((:file "blah")
(:module "mod"
:components
((:file "bar")
(:file"baz")
(:file "quux")))
(:file "blah")))
(:file "quux")))))
#+END_SRC
** How does ASDF work?
......@@ -113,7 +117,7 @@ sub-bullet under a major header.
\only<1>{\centerline{\includegraphics[width=10cm]{talk-images/find-system}}}
\only<2>{\centerline{\includegraphics[width=10cm]{talk-images/defsystem}}}
\only<3>{\centerline{\includegraphics[width=10cm]{talk-images/traverse}}}
\only<4>{\centerline{\includegraphics[width=10cm]{talk-images/execute}}}
\only<4>{\centerline{\includegraphics[width=10cm]{talk-images/perform}}}
#+END_BEAMER
** Three things I wish you knew about ASDF
......@@ -235,15 +239,15 @@ sub-bullet under a major header.
:BEAMER_env: column
:END:
****** CLISP under discussion
****** Yet to come (?)
******* CLISP (discussed on the list)
******* ACL
******* LispWorks
******* Corman
******* Corman (no response)
*** =:asdf2= in =*features*=
......@@ -254,3 +258,31 @@ sub-bullet under a major header.
*** But please remember --- ASDF is the glue that holds the CL community together
**** Be gentle with it!
** Thanks
*** ASDF: Daniel Barlow, Christophe Rhodes, Gary King, many contributors
*** ASDF2: James Anderson, Juan-Jose Garcia-Ripoll
*** Paper: Vadim Nasardinov, Ethan Schwartz, Scott McKay, Dan Barlow, anonymous reviewers
*** All our users for testing --- and for building Lisp software!
*** http://common-lisp.net/project/asdf/
** Pathname Limitations
*** #p"..." was never very portable.
*** ASDF used to not parse the name, but use i
**** (:file "foo.bar") ==> path used to be "foo.bar", now "foo.bar.lisp"
**** (:file "foo-V1.2") ==> path used to be "foo-V1.2", now "foo-V1.2.lisp"
**** (:file "foo/bar") ==> non portable cheat, rejected by SBCL
**** (:static-file "README") ==> path used to be
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment