How to Build a Proper Loading Order From ASDF?

This page summarizes the projects mentioned and recommended in the original post on /r/Common_Lisp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • lib-os

    I have been taking the time to learn more Common Lisp lately and only have a question about how to use a certain part of asdf. I am working on a library called lib-os; essentially think of it as a UIOP with some conceptual changes and more features. First let me just say, my code runs fines that is not the issue. I have loaded each function in, it all works as expected (except detect-os which I am still working!). The issue I am having is with loading order of my code inside of ASDF. Currently I am having an issue where I need to pull some code from my implementation.lisp file to use in my kernel.lisp, (featurep ()) to be specific. For awhile the aforementioned function was inside of kernel.lisp, but once I decided to start porting some features from UIOP I moved it into the other file to keep the code related to checking CL stuff in one place. The issue is that now when I run (asdf:load-system "os") it throws a warning saying it is cutting unreachable code from all of the os-p functions, i.e. all of the functions that call (feature-p). I am confused as to why this is because I have implementation.lisp not only loading before kernel.lisp, but also listed as a depends-on for it. I have searched around, but cannot figure out what I am missing. Additionally, and this is slightly off-topic, how does one make a function callable at compile-time? setenv-if-not-p was a macro, but ASDF kept saying I need to make (getenv) callable at compile-time. Apologise for taking up so much of this subreddits time! You all, and a friend, have helped me learn a lot and I have been able to work on this because of it!

  • dotfiles

    I am unsure if this would have any impact, but I am making some changes (as well as this) to sbcl; none that should cause this though.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project