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

another system de fi nition facility version 3 1
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Another System Definition Facility version 3.1

A traverse across the build A monster hunt story François-René Rideau <tunes@google.com>

1

slide-2
SLIDE 2

Based on a true story!

2

slide-3
SLIDE 3

Based on a true story!

Setting: a seemingly peaceful little village

3

slide-4
SLIDE 4

Based on a true story!

Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter

4

slide-5
SLIDE 5

Based on a true story!

Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheriff in town

5

slide-6
SLIDE 6

Based on a true story!

Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheriff in town Nemesis: a monster that terrorizes innocent people

6

slide-7
SLIDE 7

Based on a true story!

Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheriff in town Nemesis: a monster that terrorizes innocent people Fight: not easy as thought, but long and hard

7

slide-8
SLIDE 8

Based on a true story!

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

8

slide-9
SLIDE 9

Based on a true story!

Setting: a seemingly peaceful little village Protagonist: young and naïve new hunter Order: New sheriff 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

slide-10
SLIDE 10

The setting: ASDF

  • build system
  • components
  • operations
  • action graph
  • plan
  • in-memory

10

slide-11
SLIDE 11

Defining components

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

11

slide-12
SLIDE 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

slide-13
SLIDE 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

slide-14
SLIDE 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

slide-15
SLIDE 15

Use it!

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

15