Dear Pat,
I'd like to kill the evil that is :weakly-depends-on, and your cl-growl seems to be the only user of it in quicklisp.
:weakly-depends-on is evil because it's non-deterministic, and what code you get depends on which order things were compiled or configured, and you can't fix things after the fact. Could you stop using it?
Alternatives include having a separate system foo+bar that explicitly loads foo and bar before doing the connection, and/or using asdf-system-connections to automatically load foo+bar when both foo and bar have been loaded. I don't personally like this automatic loading, but at least it doesn't break determinism.
As for allowing a system to run with or without another, that's what hooks are call, i.e. runtime configuration variables.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org So that there be reality, there must be an observer. "I am, therefore someone thinks." — Faré
Yes. I can stop using it. I will try to tackle that this weekend.
-- Patrick pat@nklein.com
On Feb 21, 2013, at 9:55 AM, Faré fahree@gmail.com wrote:
Dear Pat,
I'd like to kill the evil that is :weakly-depends-on, and your cl-growl seems to be the only user of it in quicklisp.
:weakly-depends-on is evil because it's non-deterministic, and what code you get depends on which order things were compiled or configured, and you can't fix things after the fact. Could you stop using it?
Alternatives include having a separate system foo+bar that explicitly loads foo and bar before doing the connection, and/or using asdf-system-connections to automatically load foo+bar when both foo and bar have been loaded. I don't personally like this automatic loading, but at least it doesn't break determinism.
As for allowing a system to run with or without another, that's what hooks are call, i.e. runtime configuration variables.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org So that there be reality, there must be an observer. "I am, therefore someone thinks." — Faré
Well, I didn't get to it over the weekend, but I got to play a bit tonight. I just made it explicitly depend on ironclad. So, once it gets updated in quicklisp, there should be no more :weakly-depends-on in my ASD file.
When I used the 'weakly-depends' before, it was before quicklisp when I was leery of having too many external dependencies.
ttyl, Patrick
On Feb 21, 2013, at 11:47 AM, Patrick Stein wrote:
Yes. I can stop using it. I will try to tackle that this weekend.
-- Patrick pat@nklein.com
On Feb 21, 2013, at 9:55 AM, Faré fahree@gmail.com wrote:
Dear Pat,
I'd like to kill the evil that is :weakly-depends-on, and your cl-growl seems to be the only user of it in quicklisp.
:weakly-depends-on is evil because it's non-deterministic, and what code you get depends on which order things were compiled or configured, and you can't fix things after the fact. Could you stop using it?
Alternatives include having a separate system foo+bar that explicitly loads foo and bar before doing the connection, and/or using asdf-system-connections to automatically load foo+bar when both foo and bar have been loaded. I don't personally like this automatic loading, but at least it doesn't break determinism.
As for allowing a system to run with or without another, that's what hooks are call, i.e. runtime configuration variables.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org So that there be reality, there must be an observer. "I am, therefore someone thinks." — Faré