[mercury-users] Mercury Anarchive proposal

Tom Breton (Tehom) tehom at panix.com
Fri Feb 23 13:54:12 AEDT 2007


> Dear all,
>
> most of you have probably implemented lots of functions and predicates
> that
> "should" be in the Mercury standard library but still are not there.

[...]

> Manarchive will be a repository for generally useful routines, like c?an's
> are
> for Perl, TeX, R-Project and others. I am not too ambitious at this point.

That's a good mission statement.


> In this pre-announcement, I'd like learn from those of you who might wish
> to
> make use of the archive or who might want to contribute:
>
> - has the Manarchive to adopt a specific copyright policy to be useful for
>    you?
>    I'm not good at picking one of the ready-made licences, all I want is
>    that my credit is recognized and kept in comments. I do not mind if the
> code
>    I'd contribute would be used in for-profit systems.

No strong constraints here, but you might consider GPL because it's
already well known and understood.

> - has the Manarchive repository to live in a "public" place like
> sourceforge?
> - or would sourceforge block you from contributing?
>    I sort of prefer keeping the main repository on disks I have nearly
> physical
>    access to, but regular 'svnadmin dump' can solve this.

Sourceforge is fine for me, but I wonder if it suits your goal. 
Contributors on sourceforge have to be developers, and all developers can
edit all the code.  It also expects to work thru CVS, which is really nice
for branching and merging development but seems unneeded and complex for a
repository of contributions.

>
> As for the usage:
>
> 1. Using Manarchive should be as simple as possible, something like:
>      svn checkout
>      make  # to compile all the parts that have prerequisities satisfied
>            # (some of the packages might depend on some libraries
>            # installed; only users wanting such packages should be forced
>            # to satisfy the prerequisities)
>      mmc --make \
>          `manarchive-config --print-mmc-flags --package X --package Y` \
>          myproject
>            # to link against packages X and Y (if they were successfully
> made)

I'm familiar with CVS, not SVN, but doesn't "svn checkout" suck in the
entire repository?  Is that what you want?  It seems contrary to what
you're saying.

>      Manarchive must be usable both with libraries 'installed' (all grades
>      generated) and with libraries 'non-installed' (just your favourite
> grade,
>      for quick debugging of the library)
>
> 2. Contributing must be as simple as possible, something like:
>
>      join sourceforge (or whatever we go for)
>      svn add your-new-contribution # and all the files in it
>      svn commit # with a pre-commit validation
>           # ideally, the pre-commit validation would not allow committing
> if
>           # any package fails some of the tests after your change that
> were
>           # successful before your change

To add code, Sourceforge requires you be added as a developer, and then
wants to treat you as a long-term part of the project.

>      It must be easy for a Manarchive package to depend on other
> Manarchive
>      packages (at the current Manarchive revision; no version spaghetti,
>      please)

It's already easy to express.  Just include the dependency as a module.
The trick would be to convince mmc or mmake to go looking on "Manarchive"
for modules it doesn't find locally.  Even trickier, convince it to do so
without introducing new problems.  Eg, a misspelled module name shouldn't
force the make to search repositories and download stuff without user
permission.  And (assuming CVS or similar versin control that you
mentioned) not fruitlessly trying to fetch something from the main branch
that only exists on a side branch, or fetching something from one branch
that only behaves as expected on another branch.

Tom


--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list