1

If I'm using ASDF to build my Common Lisp system and have multiple projects in my ASDF path, how can I avoid naming collisions for my system names?

For example, if project-a and project-b both use a system utilities but they use different utilities, how can I make sure ASDF finds the correct utilites system?

I know that I could make utilities a directory instead of a system and reference individual files, but I find it desirable to use ASDF so I don't have to worry about specifying a path. Also, I'm trying to avoid a C-style way of avoiding collisions, e.g., project-a-utilities.

Is there a typical convention here that I don't know about?

audrow
  • 143
  • 1
  • 9
  • 1
    I don't really understand that part: "but I find it desirable to use ASDF so I don't have to worry about specifying a path". Could you explain what problem you face with directories? would [ASDF modules](https://common-lisp.net/~mmommer/asdf-howto.shtml#sec9) help organize the utilities? do you expect to distribute the utilities without the projects? (if so, you need to define a different system for them with unambiguous names) – coredump Aug 22 '16 at 16:07
  • In my `.asd` file I can say that my system `:depends-on ("utilities")` rather than specifying the path to each source file in utilities that I will use. Perhaps modules would help. I don't know much about them. I'll do some research. – audrow Aug 22 '16 at 16:21
  • The more recent http://fare.tunes.org/files/asdf3/asdf3-2014.html documentation might help. – coredump Aug 22 '16 at 16:26
  • What is the advantage of using modules over simply referring to the files in order with serial enabled (`:serial t`)? – audrow Aug 22 '16 at 16:32

0 Answers0