пн, 20 апр. 2020 г. в 17:38, Michael Orlitzky <m...@gentoo.org>: > Diamond dependencies manifest mainly in delayed version > bumps, while slyfox does all the work to make sure that the things > already in the tree will work with the new version. This requires lots > of careful updates to neighboring packages, and unfortunately a lot of > cabal file hacking.
This is precisely what I meant by "doesn't scale well". Wonder if this can be automated. > > Dunno much about Go and I don't have a single Go package locally to > > check. Do they do static or dynamic linking with the deps, for > > instance? What's the language model wrt API and linking? > > FORGET I MENTIONED IT Lol, happy to! > >> and C. > > > > More stable API (and ABI). > > > > Definitely. The "Haskell" language changes entirely every few years. Some say the same about C++ (and ABI does change even within a standard), so... > I've learned the hard way that it discourages you from doing all the > things that I just said high-quality software should do. Again, ranging from one-off pseudo-scripts that I had to come back to after a couple of years, to quite complicated pieces of software running in prod and actually serving customers I had to update up to the latest LTS after 3-4 years of inactivity, I tend to disagree. Even the latter was a surprisingly smooth process boiling down to about an hour or two of very effortless, mechanical and thus boring code changes (mostly about Semigroup/Monoid hierarchy, if you wonder). This is surely offtopic, but I just don't want to silently participate in spreading things that aren't objectively true (even if they are subjectively true in your/mine/etc experience). > There's a core of mature Haskell that's pretty easy to develop against. > (I think you just have to wait about five years with any project before > the authors realize that changing everything every month isn't fun.) Out > in the woods you can still get into a lot of trouble though. We now have > the mature core stuff in ::gentoo, and the crazies out in the ::haskell > overlay. That feels like the right mix. I've seen transifex-client last-rited the other day and was thinking of throwing up something in haskell (plus I have a couple of other projects that might be useful). Let's see what it'd take to get that into ::gentoo once I'm done. BTW having things like servant in ::haskell as opposed to ::gentoo is like having boost in some C++ overlay as opposed to ::gentoo. -- Georg Rudoy