<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Is there room for an annotation module</div><div class="gmail_default" style="font-family:monospace,monospace">with something like</div><div class="gmail_default" style="font-family:monospace,monospace">  annotation:source_file('...'),</div><div class="gmail_default" style="font-family:monospace,monospace">  annotation:source_line(137)</div><div class="gmail_default" style="font-family:monospace,monospace">allowed as goals (logically equivalent to true)</div><div class="gmail_default" style="font-family:monospace,monospace">but affecting source information?</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 17 Aug 2022 at 09:59, Zoltan Somogyi <<a href="mailto:zoltan.somogyi@runbox.com">zoltan.somogyi@runbox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
2022-08-17 07:34 GMT+10:00 "Sean Charles (emacstheviking)" <<a href="mailto:objitsu@gmail.com" target="_blank">objitsu@gmail.com</a>>:<br>
> Hi, I am trying to complete my literate programming tool by having it intersperse the above mentioned directives into the generated source, but having read section "19.6 Source file name" until I glazed over, I just cannot fathom my obvious error!<br>
> I have two small markdown files, which when rendered without the --mercury-lines option, an option to my program, stitch together and run just fine:<br>
<br>
> main(!IO) :-<br>
> :- pragma source_file("mtest2.md").<br>
> #7<br>
>     io.format("Yay\n", [], !IO),<br>
> :- pragma source_file("mtest2.md").<br>
> #8<br>
>     io.format("Yay once again\n", [], !IO),<br>
> :- pragma source_file("mtest.md").<br>
> #19<br>
>     io.format("-- line counter test--\n", [], !IO),<br>
> :- pragma source_file("mtest.md").<br>
> #20<br>
>     io.format("this is the final and\n", [], !IO),<br>
> :- pragma source_file("mtest.md").<br>
> #21<br>
>     io.format("last word\n", [], !IO).<br>
<br>
Source file directives, like other directives, may not occur in the middle<br>
of clauses, or in the middle of other directives. You get errors about<br>
the code above because it tries to put source_file directives into the middle<br>
of a clause.<br>
<br>
Zoltan.<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@lists.mercurylang.org" target="_blank">users@lists.mercurylang.org</a><br>
<a href="https://lists.mercurylang.org/listinfo/users" rel="noreferrer" target="_blank">https://lists.mercurylang.org/listinfo/users</a><br>
</blockquote></div>