[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