Follow

I am (still) looking for programming languages that meet the two following requirements:

1. Has a project-local, nested dependency/module mechanism (see wiki.slightly.tech/books/misce for explanation)

2. Does *not* have an import-all feature; ie. a way to import a module that causes all its contents to be injected into scope directly. I want languages that require explicit references of some kind (prefixing things with the module name is good enough).

:boost_requested:

· · Web · 5 · 3 · 5

@raito It's where I put all my various notes and writings :)

@joepie91 @raito wow, if i activate VPN and set country to germany i can access your website, but without, i cant here in the UK using threeUK. ...weird

@serapath @raito Could you do a traceroute to wiki.slightly.tech and screenshot/pastebin/something it?

@serapath @raito Odd. I think some IPv6 routing jank is happening (it works for me over IPv6). Can you check again tomorrow and see if it persists? If so I'll let the hosting provider know, see if they can look into it.

@serapath It's odd because your traceroute doesn't look very different from mine, and it suggests that you *are* actually reaching the network that the server is on.

Can you DM me the IP address that you tried to access it from? So I can see if there's anything in my server-side logs relating to it.

@serapath It would, but I'm looking for things that aren't JS :)

@serapath Only partly; it has the nominal typing and allows injecting things into scope (see eg. the preludes)

@joepie91 hmm, i love the bare runtime. it makes it easy to use C and it kinda helps with C packages as well

github.com/holepunchto/bare

they have other ooling repositories such as bare-cmake or cmake-vcpkg

vcpkg.io/en/
github.com/holepunchto/cmake-v

@joepie91@pixie.town well not the first condition, but I guess that's from it not having a first-class package manager (yet)?

@natty I mean, a package manager isn't really necessary for this property to hold true; but the language does need to define a dependency model (even if it leaves the providing of those dependencies undefined).

Node.js had the node_modules structure before npm existed, for example, and that structure is what gave it this property

@joepie91@pixie.town I guess in that case it depends if we consider the lack of built-in module resolution a disqualifying property?

@natty How does one load modules if there is no resolution?

@joepie91@pixie.town I assume files directly, because we haven't read up on/tried much Zig yet

@joepie91@pixie.town From what we understand, the stdlib is special-cased for resolution, and everything else is a file import of a table

So there's some similarity to JS imports I suppose?

Well there is C... no seriously... I made a project-local dependency/module mechanism.

git://fedicy.us.to/libmake

I would caution you that not resolving dependency conflicts is a dangerous game. All you're doing is kicking the can down the road, and when you do run into something you need to resolve, now you'll have 1000 dependencies to resolve all at once, instead of a few at a time. I've seen important software projects fall into disrepair, because updating the dependencies to the newer version fails, and updating the dependencies of the dependencies to the newer version fails, and so on recursively.

The end game is to have stable limited interfaces, so the dependencies don't need to change versions to update. But as long as I'm futzing about with my own stuff, it's easier to just... change all my code to use the new version, than to have some code using the old version, and putting off changing it until later.

"dependency conflicts are not free" and that's a good motivator to clean up your interfaces and not change things drastically in packages that everything else depends on, unless it's really f*ckin necessary. With project-local nested dependencies, you can be lazy about it, and... good luck figuring out what's wrong, when some code calls dependency_function_version_27 instead of dependency_function_version_32.
Sign in to participate in the conversation
Pixietown

Small server part of the pixie.town infrastructure. Registration is closed.