Commit c615f8ac authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files
parents 6388cf2a 65c21a38
No preview for this file type
No preview for this file type
#+LaTeX_CLASS: beamer #+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation] #+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_FRAME_LEVEL: 2 #+BEAMER_FRAME_LEVEL: 2
#+TITLE: Evolving ASDF: More cooperation, less coordination #+TITLE: Evolving ASDF
#+AUTHOR: Fran\c{c}ois-Ren\'e Rideau and Robert P. Goldman #+DATE: International Lisp Conference, 19 October 2010
#+BEAMER_HEADER_EXTRA: \usetheme{default}\usecolortheme{default} #+AUTHOR: Fran\c{c}ois-Ren\'e Rideau and Robert P. Goldman \newline{} ITA and SIFT (respectively)
#+BEAMER_HEADER_EXTRA: \usetheme{default}\usecolortheme{default} \subtitle{More cooperation, less coordination}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra) #+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 #+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
...@@ -45,15 +46,19 @@ sub-bullet under a major header. ...@@ -45,15 +46,19 @@ sub-bullet under a major header.
* What is ASDF? * What is ASDF?
** COMMENT 4 slides here ** COMMENT 4 slides here
** ASDF is the dominant build system for CL ** 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
*** Built on the shoulders of giants *** Built on the shoulders of giants
**** =MK-DEFSYSTEM= **** =MK-DEFSYSTEM=
**** Symbolics and other proprietary =DEFSYSTEM= versions **** Symbolics and other proprietary =DEFSYSTEM= versions
**** =BUILD= **** =BUILD=
**** =make=
*** Brilliant key idea *** Brilliant key idea establishes ASDF dominance
**** Use =*load-truename*= to find system component files **** Use =*load-truename*= to find system component files
...@@ -63,8 +68,32 @@ sub-bullet under a major header. ...@@ -63,8 +68,32 @@ sub-bullet under a major header.
** ASDF system definitions ** ASDF system definitions
+ Contain /metadata/
+ Contain /components/
+ Contain /dependencies/
- external
- internal
** How does ASDF work? ** How does ASDF work?
#+BEGIN_BEAMER
\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}}}
#+END_BEAMER
** Three things I wish you knew about ASDF
1. ASDF doesn't just build: it makes a /plan/ to build, and then executes the plan
2. Operating on a module is not /wrapped around/ the operations on components
+ =:around= methods don't work for customization
3. You can tell ASDF about system versions
+ Say what the version of your system is
+ $x.y.z$, please
+ Please don't skimp on the high-order numbers or ASDF won't detect incompatibilities
+ Say what library versions it depends on
* Hot-patching ASDF * Hot-patching ASDF
** COMMENT 4 slides here ** COMMENT 4 slides here
...@@ -74,10 +103,16 @@ sub-bullet under a major header. ...@@ -74,10 +103,16 @@ sub-bullet under a major header.
*** Loading ASDF into a running CL image containing ASDF *** Loading ASDF into a running CL image containing ASDF
*** Why is this critical? *** Why is this critical?
/Explain the need for hot-patching here/
**** If people can't load a new ASDF on top of an old one, they can never write portable code using new features
**** /Unless/ all the implementations get together and /simultaneously/ update their packaged versions
**** Hot-patching allows ASDF to evolve
*** Why is this hard? *** Why is this hard?
**** We are replacing bits of ASDF /while it is running/ **** We are replacing bits of ASDF /while it is running/
**** While it is running /to build and load itself/
**** COMMENT image of snake eating its own tail... **** COMMENT image of snake eating its own tail...
* Configuration * Configuration
......
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