[m-users.] On package managers for Mercury
Peter Wang
novalazy at gmail.com
Sun Aug 4 21:25:02 AEST 2019
On Sun, 28 Jul 2019 21:34:43 -0500, Julian Fondren <jfondren at minimaltype.com> wrote:
>
> I don't like JSON either. The point's made that XML is worse, but
> what about Mercury's own term reading? Just imagine all the
> validation code you don't have to write.
Just as an aside: the Mercury term syntax can change as the language
evolves, even if only rarely. This should be a consideration any time
you decide to base a format on the term syntax.
> ** Adding stuff to the 'extras' directory
> Packages: 34
>
> Of all the "prior work" I think this is actually the best one that
> you can use right now. People that watch the Mercury github will
> see commits to it, and see when packages are added. It's easy to
> fork the Mercury repo and put your new extras in a branch that you
> can then submit back to the repo in a PR. People can see from the
> git log and from "main author" notices where the code came from.
>
> I think this option just needs some encouragement, like a "How to
> submit your package to extras/" mini-doc on
> https://mercurylang.org/documentation/documentation.html
I think the "extras" model made more sense back in the day:
1. setting up a public CVS repository and keeping it up was a pain
2. sending/receiving contributions by email was the norm
3. the language was evolving more quickly
But now:
1. getting free, public code hosting is easy
2. probably more people are familiar with the github PR model
(and trying to apply patches broken by bad MUAs is no fun anyway)
3. the language rarely changes in backwards incompatible ways now
so keeping code up to date should be less important
The "extras" model also gates all changes through the few people with
write access to the 'mercury' repository. You don't want that.
Having all the code in a subdirectory of the fairly large 'mercury'
repository also deters use of the git submodules feature
for importing dependencies.
Peter
More information about the users
mailing list