[RFC] subsystems vs. modules

Wilfredo Velazquez zulu.inuoe at gmail.com
Wed May 18 11:20:35 UTC 2022


Sorry in advance for not exactly answering your question, but out of
curiosity, what would 'conditionally included' entail exactly?

I ask because I've had trouble in the past where I erroneously used #+/#-
in order to conditionalize a dependency - eg. define this function if some
feature was loaded.
But I ran into two problems. Specifically, stale FASLs:
I had loaded my code after having loaded library X which I conditionally
relied on (again via #+/#-).
But on another boot of my lisp image, I did not load library X and got
subsequent errors loading the asdf system because the  FASLs were 'stale'
in a way ASDF did not know about.

BTW See ASDF's `:if-feature` option.

Good luck


On Wed, May 18, 2022 at 5:49 AM Didier Verna <didier at didierverna.net> wrote:

>
>   Hi there,
>
> until now, I had a tendency to split a library into several systems
> (more or less without thinking much) as soon as such or such feature was
> conditional (e.g. depending on CFFI availability, thread support, etc.).
>
> Now I realize that in many cases, a conditionally included module or
> component would suffice, and so I'm starting to think that maybe I
> should do that, unless it makes sense for the conditional part to be
> loaded sort of standalone, independently from the rest, in which case a
> subsystem is more appropriate.
>
> So my question is: WDYT, is there a general recommendation about this?
>
> Thanks.
>
> --
> Resistance is futile. You will be jazzimilated.
>
> Lisp, Jazz, Aïkido: http://www.didierverna.info
>
>

-- 
Wilfredo Velázquez-Rodríguez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20220518/171386c3/attachment.html>


More information about the asdf-devel mailing list