1

I am currently trying to get a grasp on asdf, but sadly (but apparently not uncommonly) the standard user guide is not really of any help, as it does explain (I guess) the relevant parts but misses to distribute some extended examples containing comments, so a newbie can see those commands in action.

I am especially interested in the usage of :defsystem-depends-on and the :components part of the defsystem syntax.

Therefore the question is: Is there a more sophisticated and newbie-friendly user guide for asdf out there than the standard user guide?

Sim
  • 4,199
  • 4
  • 39
  • 77

2 Answers2

2

I don't have time to write a comprehensive tutorial (and I don't have a comprehensive understanding), but I can provide a link & copy from a project I have.

(asdf:defsystem #:cl-yahoo-finance
  :depends-on ( #:drakma #:babel #:cl-csv #:yason #:url-rewrite)
  :components ((:file "cl-yahoo-finance"))  ;;cl-yahoo-finance is cl-yahoo-finance.lisp, in the same directory.
  :name "cl-yahoo-finance"
  :version "3.2"
  :maintainer "Paul Nathan"
  :author "Paul Nathan"
  :licence "LLGPL"
  :description "CL interface to Yahoo's finance API"
  :long-description "Common Lisp interface to Yahoo's finance API, available over the web. See usage.lisp for example code.")

https://github.com/pnathan/cl-yahoo-finance/blob/master/cl-yahoo-finance.asd

Paul Nathan
  • 39,638
  • 28
  • 112
  • 212
  • thank you for the supplied link I looked through it and it helped a bit to get some sort of understanding, but the overall picture is still blurry – Sim Jun 13 '12 at 10:56
0

Do you have any specific questions?

:defsystem-depends-on is just some systems which must be loaded before the system definition is processed. From the grammar you can see that a system name is either a string or a symbol.

:components - many uses are relatively simple. For example it would list a bunch of files.

See also the grammar of ASDF DEFSYSTEM.

Rainer Joswig
  • 136,269
  • 10
  • 221
  • 346
  • not as simple, for example how does the list of defsystem-depends-on look like, strings? How does the modules part of components look like, what are the effects of the method you apparently can define within those modules. I got a lot of questions on my heart and it would be too much for here, this is y I ended up asking for a guide. – Sim Jun 12 '12 at 07:21
  • @Sim, the grammar that Rainer points to _does_ make this clear. `:defsystem-depends-on` is followed by a `system-list`, which is defined as a list of `simple-component-name`s, which are specified as either strings or symbols. The manual isn't great, but there's more there than you give it credit for. – Robert P. Goldman Jun 15 '12 at 04:19
  • i do not deny any credit, it just happens that I am a newbie using ASDF and the guide is not of much help if you are more experienced it probably is a great reference. – Sim Jun 15 '12 at 08:15