[m-rev.] for review: add --reset-kb option to mdb dd command
Peter Ross
pro at missioncriticalit.com
Sat Jun 9 11:53:28 AEST 2007
On Fri, Jun 08, 2007 at 09:43:15PM +1000, Peter Ross wrote:
> On 6/6/07, Ian MacLarty <maclarty at csse.unimelb.edu.au> wrote:
> >Index: browser/declarative_debugger.m
> >===================================================================
> >RCS file:
> >/home/mercury1/repository/mercury/browser/declarative_debugger.m,v
> >retrieving revision 1.73
> >diff -u -r1.73 declarative_debugger.m
> >--- browser/declarative_debugger.m 1 Dec 2006 15:03:43 -0000
> >1.73
> >+++ browser/declarative_debugger.m 5 Jun 2007 07:04:06 -0000
> >@@ -618,6 +618,19 @@
> > SearchMode, Analyser0, Analyser),
> > !:Diagnoser = !.Diagnoser ^ analyser_state := Analyser.
> >
> >+:- pred reset_knowledge_base(
> >+ diagnoser_state(trace_node_id)::in,
> >+ diagnoser_state(trace_node_id)::out) is det.
> >+
> >+:- pragma foreign_export("C",
> >+ mdb.declarative_debugger.reset_knowledge_base(in, out),
> >+ "MR_DD_decl_reset_knowledge_base").
> >+
> >+reset_knowledge_base(!Diagnoser) :-
> >+ Oracle0 = !.Diagnoser ^ oracle_state,
> >+ reset_oracle_knowledge_base(Oracle0, Oracle),
> >+ !Diagnoser ^ oracle_state := Oracle.
> >+
> Here you use the new !A ^ x := Y syntax, so you need to add a check to
> configure to check that we support this.
>
> There is also the problem that the latest rotd is 2007-05-26 which
> doesn't support this syntax.
Hi,
===================================================================
Estimated hours taken: 0.25
Branches: main
configure.in:
Check that the compiler supports the !X ^ field := Y syntax.
Index: configure.in
===================================================================
RCS file: /home/mercury1/repository/mercury/configure.in,v
retrieving revision 1.490
diff -u -r1.490 configure.in
--- configure.in 18 May 2007 03:33:03 -0000 1.490
+++ configure.in 9 Jun 2007 01:50:53 -0000
@@ -243,7 +243,8 @@
Words = string.words_separator(char.is_alpha,
"xx yy"),
io.write(Words, !IO)
- ).
+ ),
+ p(5, f(1), _).
:- type t ---> a ; b ; c(int).
@@ -311,6 +312,17 @@
),
U = "h or i"
).
+
+ % Test the compiler supports the syntax
+ % !F ^ field := X
+
+ :- type f ---> f(field :: int).
+
+ :- pred p(int::in, f::in, f::out) is det.
+
+ p(X, !F) :-
+ !F ^ field := X.
+
EOF
if
echo $BOOTSTRAP_MC conftest >&AC_FD_CC 2>&1 &&
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list