another system de fi nition facility version 3 1
play

Another System De fi nition Facility version 3.1 A traverse across - PowerPoint PPT Presentation

Another System De fi nition Facility version 3.1 A traverse across the build A monster hunt story Franois-Ren Rideau <tunes@google.com> 1 Based on a true story! 2 Based on a true story! Setting: a seemingly peaceful little village


  1. Another System De fi nition Facility version 3.1 A traverse across the build A monster hunt story François-René Rideau <tunes@google.com> 1

  2. Based on a true story! 2

  3. Based on a true story! Setting: a seemingly peaceful little village 3

  4. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter 4

  5. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheri ff in town 5

  6. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheri ff in town Nemesis: a monster that terrorizes innocent people 6

  7. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheri ff in town Nemesis: a monster that terrorizes innocent people Fight: not easy as thought, but long and hard 7

  8. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheri ff in town Nemesis: a monster that terrorizes innocent people Fight: not easy as thought, but long and hard Tension: climaxes! twists! magic help! 8

  9. Based on a true story! Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheri ff in town Nemesis: a monster that terrorizes innocent people Fight: not easy as thought, but long and hard Tension: climaxes! twists! magic help! Conclusion: respect acquired and lessons learned 9

  10. The setting: ASDF • build system • components • operations • action graph • plan • in-memory 10

  11. De fi ning components (defsystem "fare-quasiquote" ... :depends-on ("fare-utils") :components ((:file "packages") (:file "quasiquote" :depends-on ("packages")) (:file "pp-quasiquote" :depends-on ("quasiquote")))) 11

  12. Modules (defsystem "fare-utils" ... :components ((:file "package") (:module "base" :depends-on ("package") :components ((:file "utils") (:file "strings" :depends-on ("utils")) ...)) (:module "filesystem" :depends-on ("base") :components ...) ...)) 12

  13. ASDF: summary • component = system | module | file $ … • a component depends-on other components • operation = load-op | compile-op | … • operations propagate along the component DAG • action = operation x component • an action depends-on other actions • action DAG ≠ component DAG • plan = topologically sorted list of actions 13

  14. Also in the extended article... CL is Now an Acceptable Scripting Language Why it rocks / sucks compared with C build tools Innovations in ASDF 1 2 2.26 3 3.1 The Problem with Pathnames Lessons in Software Design including Pitfalls http://github.com/fare/asdf3-2013 14

  15. Use it! http://common-lisp.net/project/asdf/ http://github.com/fare/asdf3-2013 Any Questions? 15

Recommend


More recommend