<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
<div class="WordSection1">
<p class="MsoNormal">Hi Charles,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for this contribution!<o:p></o:p></p>
<p class="MsoNormal">I checked out the latest branch from bitbucket.org, and ran make, yielding the following error:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Making Mercury/cs/mpm.build.c<o:p></o:p></p>
<p class="MsoNormal">mpm.build.m:226: Error: predicate `dependency_args'/5 declares a determinism<o:p></o:p></p>
<p class="MsoNormal">mpm.build.m:226:   without declaring the modes of its arguments.<o:p></o:p></p>
<p class="MsoNormal">** Error making `Mercury/cs/mpm.build.c'.<o:p></o:p></p>
<p class="MsoNormal">Makefile:8: recipe for target 'mpm' failed<o:p></o:p></p>
<p class="MsoNormal">make: *** [mpm] Error 1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The following diff fixes this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">diff --git a/src/mpm.build.m b/src/mpm.build.m<o:p></o:p></p>
<p class="MsoNormal">index 43adcd4..4defc2e 100644<o:p></o:p></p>
<p class="MsoNormal">--- a/src/mpm.build.m<o:p></o:p></p>
<p class="MsoNormal">+++ b/src/mpm.build.m<o:p></o:p></p>
<p class="MsoNormal">@@ -223,8 +223,12 @@ init_files_in_dep_src(Flag, Dependency, InitFileListIn, InitFileListOut, !IO) :-<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-:- pred dependency_args(mpm.project.project, pred(mpm.project.dependency.dependency, list(string), list(string), io, io), string, io, io) is det.<o:p></o:p></p>
<p class="MsoNormal">-:- mode dependency_args(in, pred(in, in, out, di, uo) is det, out, di, uo).<o:p></o:p></p>
<p class="MsoNormal">+:- pred dependency_args(mpm.project.project,<o:p></o:p></p>
<p class="MsoNormal">+    pred(mpm.project.dependency.dependency, list(string), list(string), io, io),<o:p></o:p></p>
<p class="MsoNormal">+    string, io, io).<o:p></o:p></p>
<p class="MsoNormal">+:- mode dependency_args(in,<o:p></o:p></p>
<p class="MsoNormal">+    pred(in, in, out, di, uo) is det, out, di, uo) is det.<o:p></o:p></p>
<p class="MsoNormal">+<o:p></o:p></p>
<p class="MsoNormal">dependency_args(Project, FlagValuePred, Args, !IO) :-<o:p></o:p></p>
<p class="MsoNormal">   list.foldl2(FlagValuePred, Project ^ indirect_dependencies, [], IndirectList, !IO),<o:p></o:p></p>
<p class="MsoNormal">   list.foldl2(FlagValuePred, Project ^ direct_dependencies, [], DirectList, !IO),<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sebastian</p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> users <users-bounces@lists.mercurylang.org> on behalf of Charles Shuller <charles.shuller@gmail.com><br>
<b>Sent:</b> Thursday, March 28, 2019 11:46:07 PM<br>
<b>To:</b> Mercury Users<br>
<b>Subject:</b> [m-users.] Mercury Project Manager</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div>Hello all,<br>
</div>
<div dir="ltr"><br>
</div>
<div>I wrote a project manager for mercury, which is ultimately supposed to mirror functionality found in things like elm, npm, rebar, and cabal.   For now, it's usable with a lot of manual edits to the JSON config file.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><a href="https://bitbucket.org/charles_shuller/mpm/src/master/">https://bitbucket.org/charles_shuller/mpm/src/master/</a></div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div>Hopefully others will find it useful.</div>
<div><br>
</div>
<div><br>
</div>
<div>Cheers!</div>
<div><br>
</div>
<div>Charles<br>
</div>
</div>
</div>
</body>
</html>