by pjstirling » Tue Jan 09, 2018 9:30 am
ASDF serves the same purpose as Make/Maven. It solves the problem of ensuring that files are compiled and loaded in the right order, while rebuilding if dependencies have changed. The primitives supplied by the Common-Lisp standard are all imperative, and offer a lot of scope for users to screw this up. ASDF let's you write declarative descriptions of how your code should load.
It's worth saying that I would not recommend building your C++ code with hand-written shell scripts (beyond toy examples) for many of the same reasons.
When you want to create a application in the modern sense (i.e. something you might double-click in windows), at build time you load your code and the dump an image. When the image is executed all your code will be pre-loaded, and your top-level function will, in-turn, be executed, letting you open GUI windows etc.
Edit, formatting
Last edited by
pjstirling on Tue Jan 09, 2018 9:53 am, edited 2 times in total.