mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-25 06:14:18 +00:00
Estimated hours taken: 3
Branches: main
Change the list constructor from `./2' to `[|]/2'. `./2' will
eventually become the module qualification operator.
library/parser.m:
library/io.m:
library/sparse_bitset.m:
library/std_util.m:
library/term_io.m:
compiler/mercury_to_mercury.m:
compiler/prog_io_dcg.m:
compiler/prog_io_goal.m:
compiler/prog_io_pragma.m:
compiler/prog_io_typeclass.m:
compiler/prog_io_util.m:
browser/interactive_query.m:
extras/moose/grammar.m:
extras/moose/moose.m:
extras/morphine/source/generate_call_site_cov.m:
extras/xml/xml.encoding.m:
samples/muz/higher_order.m:
tests/debugger/declarative/app.m:
tests/dppd/transpose_impl.m:
tests/hard_coded/ground_dd.m:
tests/hard_coded/split_c_files.m:
Change all references to `./2' to use `[|]/2' instead.
compiler/typecheck.m:
Handle `./2' as a special case in `report_error_undef_cons'.
Warn about module list not being imported if `[|]/2' is undefined.
compiler/llds_out.m:
util/mdemangle.c:
profiler/demangle.m:
Add name conversions for `[|]' (f_cons) and `[]' (f_nil).
NEWS:
doc/reference_manual.texi:
w3/tutorial/lists-n-things.m4:
Document the changes.
tests/debugger/{,declarative}/*.exp*:
Update test case results. For some tests the output changed
because they output lists in the non-pretty format. For others,
the output changed because the alphabetical ordering of the
constructors of type `list/1' changed, so the numbering of
the switch branches in the goal paths changed.
307 lines
13 KiB
Plaintext
307 lines
13 KiB
Plaintext
1: 1 1 CALL pred queens:main/2-0 (cc_multi) queens.m:17
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> retry 1
|
|
not that many ancestors
|
|
mdb> print *
|
|
HeadVar__1 state('<<c_pointer>>')
|
|
mdb>
|
|
2: 2 2 CALL pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
|
|
mdb> print *
|
|
mdb: there are no live variables.
|
|
mdb>
|
|
3: 2 2 EXIT pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
4: 3 2 CALL pred queens:queen/2-0 (nondet) queens.m:41 (queens.m:15)
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
5: 4 3 CALL pred queens:qperm/2-0 (nondet) queens.m:45 (queens.m:42)
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
6: 4 3 SWTC pred queens:qperm/2-0 (nondet) s2; queens.m:46
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
7: 5 4 CALL pred queens:qdelete/3-0 (nondet) queens.m:51 (queens.m:47)
|
|
mdb> print *
|
|
HeadVar__2 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
8: 5 4 DISJ pred queens:qdelete/3-0 (nondet) c2;d1; queens.m:51
|
|
mdb> print *
|
|
HeadVar__2 [1, 2, 3, 4, 5]
|
|
mdb> level 1
|
|
Ancestor level set to 1:
|
|
1 pred queens:qperm/2-0 (nondet) queens.m:47
|
|
mdb> level -d 1
|
|
Ancestor level set to 1:
|
|
1 5 4 3 pred queens:qperm/2-0 (nondet) queens.m:47
|
|
mdb> context nextline
|
|
Contexts will be printed on the next line.
|
|
mdb> level 1
|
|
Ancestor level set to 1:
|
|
1 pred queens:qperm/2-0 (nondet)
|
|
queens.m:47
|
|
mdb> level -d 1
|
|
Ancestor level set to 1:
|
|
1 5 4 3 pred queens:qperm/2-0 (nondet)
|
|
queens.m:47
|
|
mdb> context prevline
|
|
Contexts will be printed on the previous line.
|
|
mdb> level 1
|
|
Ancestor level set to 1:
|
|
1 queens.m:47
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> level -d 1
|
|
Ancestor level set to 1:
|
|
1 5 4 3 queens.m:47
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb> up 1
|
|
Ancestor level set to 2:
|
|
2 queens.m:42
|
|
pred queens:queen/2-0 (nondet)
|
|
mdb> vars
|
|
1 HeadVar__1
|
|
mdb> print *
|
|
HeadVar__1 [1, 2, 3, 4, 5]
|
|
mdb>
|
|
9: 5 4 EXIT queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
mdb> print HeadVar__1
|
|
HeadVar__1 1
|
|
mdb> print HeadVar__2
|
|
HeadVar__2 [1, 2, 3, 4, 5]
|
|
mdb> print HeadVar__3
|
|
HeadVar__3 [2, 3, 4, 5]
|
|
mdb>
|
|
10: 6 4 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> print *
|
|
HeadVar__1 [2, 3, 4, 5]
|
|
mdb>
|
|
11: 6 4 SWTC queens.m:46
|
|
pred queens:qperm/2-0 (nondet) s2;
|
|
mdb> print *
|
|
HeadVar__1 [2, 3, 4, 5]
|
|
mdb>
|
|
12: 7 5 CALL queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
mdb> print *
|
|
HeadVar__2 [2, 3, 4, 5]
|
|
mdb>
|
|
13: 7 5 DISJ queens.m:51
|
|
pred queens:qdelete/3-0 (nondet) c2;d1;
|
|
mdb> print *
|
|
HeadVar__2 [2, 3, 4, 5]
|
|
mdb>
|
|
14: 7 5 EXIT queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
mdb> print *
|
|
HeadVar__1 2
|
|
HeadVar__2 [2, 3, 4, 5]
|
|
HeadVar__3 [3, 4, 5]
|
|
mdb>
|
|
15: 8 5 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> goto -a 20
|
|
16: 8 5 SWTC queens.m:46
|
|
pred queens:qperm/2-0 (nondet) s2;
|
|
17: 9 6 CALL queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
18: 9 6 DISJ queens.m:51
|
|
pred queens:qdelete/3-0 (nondet) c2;d1;
|
|
19: 9 6 EXIT queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
20: 10 6 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> stack
|
|
0 4* pred queens:qperm/2-0 (nondet) (queens.m:45 and others)
|
|
4 pred queens:queen/2-0 (nondet) (queens.m:42)
|
|
5 pred queens:main/2-0 (cc_multi) (queens.m:15)
|
|
mdb> stack -d
|
|
0 20 10 6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
|
|
1 15 8 5 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c2;
|
|
2 10 6 4 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c2;
|
|
3 5 4 3 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c2;
|
|
4 4 3 2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
|
|
5 1 1 1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
|
|
mdb> print *
|
|
HeadVar__1 [4, 5]
|
|
mdb>
|
|
21: 10 6 SWTC queens.m:46
|
|
pred queens:qperm/2-0 (nondet) s2;
|
|
mdb> retry
|
|
20: 10 6 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> print *
|
|
HeadVar__1 [4, 5]
|
|
mdb> finish -a
|
|
21: 10 6 SWTC queens.m:46
|
|
pred queens:qperm/2-0 (nondet) s2;
|
|
22: 11 7 CALL queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
23: 11 7 DISJ queens.m:51
|
|
pred queens:qdelete/3-0 (nondet) c2;d1;
|
|
24: 11 7 EXIT queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
25: 12 7 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
26: 12 7 SWTC queens.m:46
|
|
pred queens:qperm/2-0 (nondet) s2;
|
|
27: 13 8 CALL queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
28: 13 8 DISJ queens.m:51
|
|
pred queens:qdelete/3-0 (nondet) c2;d1;
|
|
29: 13 8 EXIT queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
30: 14 8 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
31: 14 8 SWTC queens.m:45
|
|
pred queens:qperm/2-0 (nondet) s1;
|
|
32: 14 8 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
33: 12 7 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
34: 10 6 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> register --quiet
|
|
mdb> break print_list
|
|
0: + stop interface pred queens:print_list/3-0 (det)
|
|
mdb> break qdelete
|
|
1: + stop interface pred queens:qdelete/3-0 (nondet)
|
|
mdb> continue -a
|
|
35: 8 5 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
36: 6 4 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
37: 4 3 EXIT queens.m:45 (from queens.m:42)
|
|
pred queens:qperm/2-0 (nondet)
|
|
38: 15 3 CALL queens.m:55 (from queens.m:43)
|
|
pred queens:safe/1-0 (semidet)
|
|
39: 15 3 SWTC queens.m:56
|
|
pred queens:safe/1-0 (semidet) s2;
|
|
40: 16 4 CALL queens.m:60 (from queens.m:57)
|
|
pred queens:nodiag/3-0 (semidet)
|
|
41: 16 4 SWTC queens.m:61
|
|
pred queens:nodiag/3-0 (semidet) s2;
|
|
42: 16 4 THEN queens.m:65
|
|
pred queens:nodiag/3-0 (semidet) s2;c4;t;
|
|
43: 16 4 FAIL queens.m:60 (from queens.m:57)
|
|
pred queens:nodiag/3-0 (semidet)
|
|
44: 15 3 FAIL queens.m:55 (from queens.m:43)
|
|
pred queens:safe/1-0 (semidet)
|
|
45: 4 3 REDO queens.m:45 (from queens.m:42)
|
|
pred queens:qperm/2-0 (nondet)
|
|
46: 6 4 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
47: 8 5 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
48: 10 6 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
49: 12 7 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
50: 14 8 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
51: 14 8 FAIL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
52: 13 8 REDO queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
mdb> break info
|
|
0: + stop interface pred queens:print_list/3-0 (det)
|
|
1: + stop interface pred queens:qdelete/3-0 (nondet)
|
|
mdb> enable *
|
|
0: + stop interface pred queens:print_list/3-0 (det)
|
|
1: + stop interface pred queens:qdelete/3-0 (nondet)
|
|
mdb> step -aS 5
|
|
53: 13 8 DISJ queens.m:52
|
|
pred queens:qdelete/3-0 (nondet) c2;d2;
|
|
54: 17 9 CALL queens.m:51 (from queens.m:53)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
55: 17 9 FAIL queens.m:51 (from queens.m:53)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
56: 13 8 FAIL queens.m:51 (from queens.m:47)
|
|
pred queens:qdelete/3-0 (nondet)
|
|
57: 12 7 FAIL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> disable 1
|
|
1: - stop interface pred queens:qdelete/3-0 (nondet)
|
|
mdb> retry 4
|
|
5: 4 3 CALL queens.m:45 (from queens.m:42)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> break 49
|
|
2: + stop linenumber queens.m:49
|
|
mdb> continue -n
|
|
10: 6 4 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
15: 8 5 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
20: 10 6 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
25: 12 7 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
30: 14 8 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
32: 14 8 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> return
|
|
33: 12 7 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
34: 10 6 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
35: 8 5 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
36: 6 4 EXIT queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
38: 15 3 CALL queens.m:55 (from queens.m:43)
|
|
pred queens:safe/1-0 (semidet)
|
|
mdb> continue -n
|
|
46: 6 4 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
47: 8 5 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> forward
|
|
48: 10 6 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
49: 12 7 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
50: 14 8 REDO queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
51: 14 8 FAIL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
53: 13 8 DISJ queens.m:52
|
|
pred queens:qdelete/3-0 (nondet) c2;d2;
|
|
mdb> continue -n
|
|
57: 12 7 FAIL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> continue -n
|
|
64: 19 7 CALL queens.m:45 (from queens.m:49)
|
|
pred queens:qperm/2-0 (nondet)
|
|
mdb> delete *
|
|
0: E stop interface pred queens:print_list/3-0 (det)
|
|
1: D stop interface pred queens:qdelete/3-0 (nondet)
|
|
2: E stop linenumber queens.m:49
|
|
mdb> break main
|
|
0: + stop interface pred queens:main/2-0 (cc_multi)
|
|
mdb> continue -n
|
|
[1, 3, 5, 2, 4]
|
|
698: 1 1 EXIT queens.m:17
|
|
pred queens:main/2-0 (cc_multi)
|
|
mdb> retry
|
|
Retry across I/O operations is not always safe.
|
|
Are you sure you want to do it? yes
|
|
1: 1 1 CALL queens.m:17
|
|
pred queens:main/2-0 (cc_multi)
|
|
mdb> continue -n -S
|
|
[1, 3, 5, 2, 4]
|