@hipsterelectron I think you're vastly under appreciating that doing this would be rigorously specifying the *complete* contract of the dependency, or at least the parts you want to depend on. Which is in some sense equivalent to implementing it yourself in an idealized high level language.
Conversation
Notices
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Thursday, 06-Mar-2025 22:27:15 JST Rich Felker
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Thursday, 06-Mar-2025 22:29:29 JST Rich Felker
@hipsterelectron Imagine having the full text of POSIX, but written in a rigorous manner with all ambiguities and contradictions fixed, embedded in your package file. 😲 Repeat for every third party dep that didn't even have a halfway decent contract specification to begin with. 😫
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Thursday, 06-Mar-2025 22:32:38 JST Rich Felker
@hipsterelectron It'd get old really quick repeating that in every package. So you could have libraries of such specifications. And write dependencies on those libraries. Using a rigorous language to express what qualities the specifications you're depending on need to have, rather than referencing them by name...
What's that? Wha..? Oh. Oh. Oh....
-
Embed this notice
JP (froztbyte@mastodon.social)'s status on Thursday, 06-Mar-2025 22:54:02 JST JP
@dalias @hipsterelectron so there's an idea I've been playing around with for a while (and need to write up)
why _not_ do exactly that?
we have /.well-known/{xxx} for so many things
let's shove more things in there (or whatever non-http contract boundary an application has). let's make inter-dependencies _explicitly defined_ instead of some shit you derive from readmes and CM systems - fairly doable for application builds/artefacts too, imo
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Thursday, 06-Mar-2025 22:54:02 JST Rich Felker
@froztbyte @hipsterelectron Writing formal specs is hard and ppl are bad at it.
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Thursday, 06-Mar-2025 23:05:54 JST Rich Felker
@froztbyte @hipsterelectron You can't automate generation of contract from implementation.
-
Embed this notice
JP (froztbyte@mastodon.social)'s status on Thursday, 06-Mar-2025 23:05:55 JST JP
@dalias @hipsterelectron to be clear, I'm not advocating that this should be human gruntwork
I envision this as "batteries included", in toolchains and runtimes. using it and having it should be as close to free as possible. sure it'd imply a _lot_ of work to get it there, but I think it'd be worth it
(it _is_ on my list of ideas to sketch up in detail, and might get to it soon)
-
Embed this notice