Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
ilc2010
Commits
ea413e78
Commit
ea413e78
authored
Oct 18, 2010
by
Francois-Rene Rideau
Browse files
Some tweaks. Extend summary to 1) ASDF, 2) Evolving ASDF.
parent
34fa11f3
Changes
3
Hide whitespace changes
Inline
Side-by-side
asdf.tex
View file @
ea413e78
...
...
@@ -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.
}
...
...
main.tex
View file @
ea413e78
...
...
@@ -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
}
...
...
talk-outline.org
View file @
ea413e78
...
...
@@ -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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment