head 1.68; access; symbols; locks ulrich:1.68; strict; comment @# @; 1.68 date 2024.01.27.06.32.53; author ulrich; state Exp; branches; next 1.67; 1.67 date 2024.01.27.06.32.02; author ulrich; state Exp; branches; next 1.66; 1.66 date 2023.09.14.18.32.04; author ulrich; state Exp; branches; next 1.65; 1.65 date 2023.09.14.18.28.08; author ulrich; state Exp; branches; next 1.64; 1.64 date 2023.09.03.09.48.44; author ulrich; state Exp; branches; next 1.63; 1.63 date 2023.08.17.05.47.40; author ulrich; state Exp; branches; next 1.62; 1.62 date 2023.08.16.14.42.26; author ulrich; state Exp; branches; next 1.61; 1.61 date 2023.07.08.14.56.40; author ulrich; state Exp; branches; next 1.60; 1.60 date 2023.07.01.11.09.41; author ulrich; state Exp; branches; next 1.59; 1.59 date 2023.06.18.05.42.44; author ulrich; state Exp; branches; next 1.58; 1.58 date 2023.06.18.05.27.47; author ulrich; state Exp; branches; next 1.57; 1.57 date 2022.10.26.08.42.17; author ulrich; state Exp; branches; next 1.56; 1.56 date 2022.08.02.09.39.28; author ulrich; state Exp; branches; next 1.55; 1.55 date 2022.08.02.09.23.50; author ulrich; state Exp; branches; next 1.54; 1.54 date 2022.08.02.09.17.42; author ulrich; state Exp; branches; next 1.53; 1.53 date 2022.08.02.08.58.26; author ulrich; state Exp; branches; next 1.52; 1.52 date 2022.08.02.08.03.55; author ulrich; state Exp; branches; next 1.51; 1.51 date 2022.01.07.11.51.33; author ulrich; state Exp; branches; next 1.50; 1.50 date 2021.12.27.11.44.10; author ulrich; state Exp; branches; next 1.49; 1.49 date 2021.12.26.19.18.32; author ulrich; state Exp; branches; next 1.48; 1.48 date 2021.12.26.07.23.46; author ulrich; state Exp; branches; next 1.47; 1.47 date 2021.12.25.13.03.44; author ulrich; state Exp; branches; next 1.46; 1.46 date 2021.12.25.12.48.46; author ulrich; state Exp; branches; next 1.45; 1.45 date 2021.12.25.12.40.34; author ulrich; state Exp; branches; next 1.44; 1.44 date 2021.12.25.10.43.35; author ulrich; state Exp; branches; next 1.43; 1.43 date 2021.11.14.21.14.22; author ulrich; state Exp; branches; next 1.42; 1.42 date 2021.11.13.21.06.02; author ulrich; state Exp; branches; next 1.41; 1.41 date 2021.11.13.09.43.58; author ulrich; state Exp; branches; next 1.40; 1.40 date 2021.08.17.06.59.56; author ulrich; state Exp; branches; next 1.39; 1.39 date 2021.03.24.19.04.13; author ulrich; state Exp; branches; next 1.38; 1.38 date 2021.03.24.18.37.44; author ulrich; state Exp; branches; next 1.37; 1.37 date 2019.05.14.08.32.31; author ulrich; state Exp; branches; next 1.36; 1.36 date 2018.06.04.14.55.29; author ulrich; state Exp; branches; next 1.35; 1.35 date 2018.06.02.13.25.13; author ulrich; state Exp; branches; next 1.34; 1.34 date 2018.06.02.09.27.52; author ulrich; state Exp; branches; next 1.33; 1.33 date 2017.08.06.14.40.22; author ulrich; state Exp; branches; next 1.32; 1.32 date 2017.08.04.14.45.35; author ulrich; state Exp; branches; next 1.31; 1.31 date 2017.08.04.14.41.58; author ulrich; state Exp; branches; next 1.30; 1.30 date 2017.08.04.13.29.43; author ulrich; state Exp; branches; next 1.29; 1.29 date 2017.08.02.14.36.35; author ulrich; state Exp; branches; next 1.28; 1.28 date 2017.08.02.12.46.32; author ulrich; state Exp; branches; next 1.27; 1.27 date 2017.08.02.12.17.47; author ulrich; state Exp; branches; next 1.26; 1.26 date 2017.08.02.08.20.50; author ulrich; state Exp; branches; next 1.25; 1.25 date 2017.07.31.04.07.33; author ulrich; state Exp; branches; next 1.24; 1.24 date 2016.11.26.22.15.18; author ulrich; state Exp; branches; next 1.23; 1.23 date 2016.10.02.16.26.50; author ulrich; state Exp; branches; next 1.22; 1.22 date 2016.10.02.16.14.53; author ulrich; state Exp; branches; next 1.21; 1.21 date 2016.10.02.14.26.32; author ulrich; state Exp; branches; next 1.20; 1.20 date 2016.09.19.12.14.24; author ulrich; state Exp; branches; next 1.19; 1.19 date 2014.12.17.14.06.28; author ulrich; state Exp; branches; next 1.18; 1.18 date 2014.12.17.13.43.50; author ulrich; state Exp; branches; next 1.17; 1.17 date 2014.12.15.17.19.05; author ulrich; state Exp; branches; next 1.16; 1.16 date 2014.08.24.15.30.28; author ulrich; state Exp; branches; next 1.15; 1.15 date 2014.04.07.15.25.27; author ulrich; state Exp; branches; next 1.14; 1.14 date 2014.04.07.13.59.24; author ulrich; state Exp; branches; next 1.13; 1.13 date 2014.03.14.13.18.52; author ulrich; state Exp; branches; next 1.12; 1.12 date 2014.03.12.21.41.27; author ulrich; state Exp; branches; next 1.11; 1.11 date 2014.01.29.21.48.54; author ulrich; state Exp; branches; next 1.10; 1.10 date 2014.01.29.21.23.18; author ulrich; state Exp; branches; next 1.9; 1.9 date 2013.11.29.23.06.54; author ulrich; state Exp; branches; next 1.8; 1.8 date 2013.11.29.22.36.57; author ulrich; state Exp; branches; next 1.7; 1.7 date 2013.11.07.00.10.20; author ulrich; state Exp; branches; next 1.6; 1.6 date 2013.08.28.12.39.08; author ulrich; state Exp; branches; next 1.5; 1.5 date 2013.06.30.00.18.10; author ulrich; state Exp; branches; next 1.4; 1.4 date 2013.06.19.21.46.57; author ulrich; state Exp; branches; next 1.3; 1.3 date 2013.06.19.21.44.19; author ulrich; state Exp; branches; next 1.2; 1.2 date 2013.06.19.21.15.06; author ulrich; state Exp; branches; next 1.1; 1.1 date 2013.06.19.21.12.03; author ulrich; state Exp; branches; next ; desc @@ 1.68 log @Trealla version update @ text @
variable_names/1
The Query entry below including a newline character at the end is
sent to read(X),catch(X,error(E,_),true)
. The comment /**/
is
replaced by the last preceding entry not containing /**/
.
# | Query | ISO/IEC 13211-1
Cor.3 | IF
V5.1B* | MINERVA
2.4 | Jekejeke
1.5.0 | GNU
1.6.0 | B
7.8b7 | YAP
6.3.4 | SWI**
6.3.16-54 | SICStus
4.4.1 | ECLiPSe
7.0dev#23 -L iso
| Scryer
v0.8.123-750 | Trealla
2.34.19 | Ichiban
0.10.3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
# | Query | Codex | IF | MINERVA | Jekejeke | GNU | B | YAP | SWI | SICStus | ECLiPSe | Scryer | Trealla | Ichiban |
conformance of 72 | 71 | 47 | 44 | 36 | 64 | 25 | 48 | 45 | 72 | 72 | 72 | 72 | 71 | |
regular use of 22 | 22 | 21 | 21 | 21 | 22 | 7 | 22 | 21 | 22 | 22 | 22 | 22 | 22 | |
introduced | WDCor.3 | V5.0B | <2.4 | <0.9.2 | <1.4.2 | 7.8b6 | 6.3.8 | 4.3β1 | 7.0#21 | 0.8.80 | 1.9.24 | 0.10.3 | ||
date | 2012-09 | 1996-05 | <1997-06 | 2011-10 | 2012-04 | 2012-07 | 2013-01 | 2013-01 | 2013-11 | 2017-06 | 2019-05 | 2021-06 | 2022-08 | |
manual | C6 C14 | remote | remote | remote | remote | remote | ||||||||
1 | write_term(T,[quoted(true), variable_names([N=T])]). | i._e. | _164 | _749 | OK | OK new | _338 | OK new | OK | OK new | OK | OK | OK | OK |
2 | N = 'X', /**/ | X | OK | OK | OK | OK | 'X' | OK | OK | OK | OK | OK | OK | OK |
3 | N = T, /**/ | i._e. | _164 | _533 | OK | OK new | _310 | OK new | OK | OK new | OK | OK | OK | OK |
4 | N = '_', /**/ | _ | OK | OK | OK | OK | '_' | OK | OK | OK | OK | OK | OK | OK |
65 | N = '_/*.*/', /**/ | _/*.*/ | OK | OK | d._e.(v._n., x) | OK | '_/*.*/' | OK | d._e.(v._n., x) | OK | OK new | OK | OK | OK |
5 | N = x, /**/ | x | OK | OK | d._e.(v._n., x) | OK new | OK | OK | d._e.(v._n., x) | OK | OK new | OK | OK | OK |
6 | N = 'x+y', /**/ | x+y | OK | OK | d._e.(v._n., 'x+y') | OK new | 'x+y' | OK | d._e.(v._n., 'x+y') | OK | OK new | OK | OK | OK |
50 | N = '))', /**/ | )) | OK | OK | d._e.(v._n., '))') | OK new | '))' | OK | d._e.(v._n., '))') | OK | OK new | OK | OK | OK |
7 | N = 7, /**/ | d._e.(w._o., v._n.(..)) | _168 | 7 | t._e.(at., 7) | OK new | 7 | H | t._e.(at., 7) | OK | OK | OK | OK new | OK |
8 | N = 1+2, /**/ | d._e.(w._o., v._n.(..)) | _171 | +(1,2) | t._e.(at., 1+2) | OK new | 1+2 | '$VAR'(1+2) | t._e.(at., 1+2) | OK | OK | OK | OK new | OK |
9 | N = '$VAR'(9), /**/ | d._e.(w._o., v._n.(..)) | _170 | '$VAR'(9) | t._e.(at., ...) | OK new | J | '$VAR'(J) | t._e.(at., ...) | OK | OK | OK | OK new | OK |
10 | T = a, /**/ | i._e. | a | a | a | OK new | a | OK new | OK | OK new | OK | OK | OK | OK |
11 | T = a, N = 'Any', /**/ | a | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
12 | T = '$VAR'(9), N = '_', /**/ | '$VAR'(9) | OK | OK | OK | OK | J | J | OK | OK | OK | OK | OK new | OK |
28 | freeze(T,throw(g(T))), N = 'X', /**/ | X | OK | n/a | OK | n/a | g(X) | OK | OK | OK | OK | OK | OK | n/a |
13 | write_term(T,[quoted(true), variable_names([ 'X'=X,'Y'=Y,'Z'=Z])]). | _Impdep | _164 | _583 | _D | _23 | _420 | _1.. | _G864 | _981 | _391 | _0 | _0 new | _1159 |
14 | T=(X,Y,Z), /**/ | X,Y,Z | X , Y , Z | X , Y , Z | OK | OK | 'X','Y','Z' | OK | OK | OK | OK | OK | OK | OK |
15 | Z=Y, T=(X,Y,Z), /**/ | X,Y,Y | X , Y , Y | X , Y , Y | OK | OK | 'X','Y','Y' | OK | OK | OK | OK | OK | OK | OK |
16 | Z=Y, Y=X, T=(X,Y,Z), /**/ | X,X,X | X , X , X | X , X , X | OK | OK | 'X','X','X' | OK | OK | OK | OK | OK | OK | OK |
17 | T=(Y,Z), /**/ | Y,Z | Y , Z | Y , Z | OK | OK | 'Y','Z' | OK | OK | OK | OK | OK | OK | OK |
18 | T=(Z,Y), /**/ | Z,Y | Z , Y | Z , Y | OK | OK | 'Z','Y' | OK | OK | OK | OK | OK | OK | OK |
19 | write_term(T,[quoted(true), variable_names([ 'Z'=Z,'Y'=Y,'X'=X])]). | _Impdep | _164 | _583 | _D | _23 | _3b4 | _1.. | _G864 | _981 | _391 | _0 | _0 new | _1159 |
20 | T=(X,Y,Z), /**/ | X,Y,Z | X , Y , Z | X , Y , Z | OK | OK | 'X','Y','Z' | OK | OK | OK | OK | OK | OK | OK |
21 | Z=Y, T=(X,Y,Z), /**/ | X,Z,Z | X , Z , Z | X , Z , Z | X, Z, Z new | OK | 'X','Z','Z' | OK | OK | OK | OK | OK | OK new | OK |
22 | Z=Y, Y=X, T=(X,Y,Z), /**/ | Z,Z,Z | Z , Z , Z | Z , Z , Z | Z, Z, Z new | OK | 'Z','Z','Z' | OK | OK | OK | OK | OK | OK new | OK |
23 | T=(Y,Z), /**/ | Y,Z | Y , Z | Y , Z | OK | OK | 'Y','Z' | OK | OK | OK | OK | OK | OK | OK |
24 | T=(Z,Y), /**/ | Z,Y | Z , Y | Z , Y | OK | OK | 'Z','Y' | OK | OK | OK | OK | OK | OK | OK |
25 | write_term(T,[quoted(true), variable_names([ 'X'=Z,'X'=Y,'X'=X])]). | _Impdep | _164 | _583 | _D | _23 | _3b4 | _1.. | _G864 | _981 | _391 | _0 | _0 new | _1159 |
26 | T=(X,Y,Z), /**/ | X,X,X | X , X , X | X , X , X | OK | OK | 'X','X','X' | OK | OK | OK | OK | OK | OK | OK |
27 | T=(1,2,3), T=(X,Y,Z), /**/ | 1,2,3 | 1 , 2 , 3 | 1 , 2 , 3 | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
32 | read_term(T,[ variable_names(VN_list)]), VN_list=[_=1,_=2,_=3], writeq(VN_list). | waits | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
29 | /**/ B+C+A+B+C+A. | ['B'=1,'C'=2,'A'=3]³ | OK | OK | OK new | OK | ['A'=1, 'C'=2, 'B'=3] | OK | OK | OK new | OK | OK new | OK | OK |
30 | write_term(T, [variable_names(VN_list)]). | i._e. | _164 | loops | OK | OK new | OK | _131777 | OK | OK new | OK new | OK | OK new | OK |
31 | VN_list = 1, /**/ | d._e.(w._o.,v._n.(..)) | _168 | _707 | t._e.(list, 1) | OK | wrong_coll. | _131821 | t._e.(list, 1) | OK new | OK new | OK | OK | OK |
33 | VN_list = [[]], /**/ | d._e.(w._o.,v._n.(..)) | _170 | _772 | t._e.(assoc, []) | OK | _388 | fails | t._e.(v._ass., []) | OK | OK new | OK | OK | OK |
34 | VN_list = non_list,/**/ | d._e.(w_.o.,v._n.(..)) | _168 | _707 | t._e.(list, n.) | OK | wrong_coll. | _131869 | t._e.(list, n.) | OK new | OK new | OK | OK | OK |
35 | VN_list = [T='T'|non_list],/**/ | d._e.(w._o.,v._n.(..)) or i._e. | _165 | _630 | t._e.(list, n.) | i._e. | t._e.(list, n.) | _131900 | i._e. | d._e. new | i._e. | d._e. | i._e. | i._e. |
52 | VN_list = ['T'=T|_],/**/ | i._e. | T | T | OK | OK new | OK | T | OK | OK new | OK | OK | OK | OK |
51 | VN_list = ['T'=T|non_list],/**/ | d._e.(w._o.,v._n.(..)) | T | T | t._e.(list, n.) | OK | t._e.(list, n.) | T | t._e.(list, n.) | OK new | OK new | OK | OK new | OK |
36 | VN_list = [T-'T'],/**/ | d._e.(w._o.,v._n.(..)) | _165 | _630 | t._e.(assoc, _-'T') | OK | _350 | fails | t._e.(v._ass., ...) | OK | OK new | OK | OK new | OK |
63 | VN_list = [_,a],/**/ | d._e.(w._o.,v._n.(..)) or i._e. | _165 | _912 | i._e. | d._e. | i._e. | i._e. | d._e. | i._e. | i._e. | |||
64 | VN_list = [a,_],/**/ | d._e.(w._o.,v._n.(..)) or i._e. | _165 | _973 | t._e.(assoc,a) | d._e. | d._e. | d._e. new | d._e. | d._e. | d._e. | |||
66 | VN_list = [a|_],/**/ | d._e.(w._o.,v._n.(..)) or i._e. | _174 | loops | t._e.(assoc,a) | d._e. | i._e. | d._e. new | i._e. | d._e. | d._e. | |||
67 | VN_list = [i=i,7=i],/**/ | d._e(w._o., v._n.([i=i,7=i])). | _178 | _672 | _A | OK | OK | _13.. | d._e.(v._n.,i) | OK | OK | OK new | OK new | OK |
68 | VN_list = [_,_],/**/ | i._e. | _174 | _893 | OK | d._e... | fails | OK | OK | OK | OK new | OK new | OK | |
43 | write_term(-X^2,[ variable_names(['X'=X])]). | - (X^2) | -X^2 | -X^2 | -X^2 | -X^2 | -X^2 | -X^2 | -X^2 | OK | OK | OK | OK new | OK |
44 | X=1, /**/ | - (1^2) | #183/215 | #183/215 | #183/215 | OK | OK | - (1)^2 | #183/215 | OK | OK | OK | OK new | OK |
37 | open(f,write,_,[O]). | i._e. | OK | OK | O = alias(_)† | OK | OK | OK | OK | OK | OK | OK new | OK | OK |
38 | O = 1, /**/ | d._e.(s._o., 1) | OK | t._e.(atom, 1) | d._e.(o._o.,1) | OK | OK | OK | OK | OK new | OK new | OK new | OK | OK |
56 | O = typex(_), /**/ | d._e.(s._o., t.(_)) | OK | i._e. | d._e.(o._o.,..) | OK | OK | succeeds | succeeds | OK new | OK new | OK new | OK new | OK |
57 | O = typex(1), /**/ | d._e.(s._o., t.(1)) | OK | t._e.(atom, 1) | d._e.(o._o.,..) | OK | OK | succeeds | succeeds | OK | OK new | OK new | OK | OK |
62 | O = typex(s(_)), /**/ | d._e.(s._o., t.(s(_.))) | OK | t._e.(atom, s(_.)) | d._e.(o._o.,..) | OK | OK | succeeds | succeeds | OK | OK new | OK new | OK | OK |
39 | O = type(text), /**/ | succeeds | OK | OK | OK† | OK | OK | OK | OK | OK | OK | OK new | OK | OK |
40 | O = type(1), /**/ | d._e.(s._o., t.(1)) | t._e.(atom, 1) | t._e.(atom, 1) | t._e.(atom, 1) | OK | d._e.(s._o., 1) | OK | t._e.(atom, 1) | OK | OK new | OK new | OK | OK |
41 | O = type(_), /**/ | i._e. | OK | OK | OK | OK new | d._e.(s._o.,..) | OK new | OK | OK new | OK new | OK new | OK new | OK |
60 | O = alias(_), /**/ | i._e. | OK | OK | p._e.(o., s._s.,..) | d._e.(s._., ..) | p._e.(o., s._s.,..) | OK | OK | OK new | OK new | OK new | OK new | OK |
42 | O = type(nontype), /**/ | d._e.(s._o., t.(n.)) | d._e.(s._o., n.) | OK | d._e.(flag_v., n.) | OK | d._e.(s._o., n.) | succeeds | OK new | OK | OK new | OK new | OK new | OK |
61 | O = alias(1), /**/ | d._e.(s._o.. a.(1)) | t._e.(a.,a.(1)) | OK | O = alias(1) | OK | p._e.(o.,s._s.,..) | t._e.(a.,1) | t._e.(a.,1) | OK | OK new | OK new | OK | OK |
45 | read_term(T,[ variable_names(VN_list)]). | waits | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
46 | /**/ a. | T = a, VN_list = [] | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
47 | VN_list = 42, /**/ | waits | OK | OK | OK | d._e.(r._o,..) reg | OK | OK | OK | OK | OK | OK | OK new | OK |
48 | VN_list = 42, /**/ a. | fails | OK | OK | OK | d._e.(r._o,..) reg | OK | OK | OK | OK | OK | OK | OK new | OK |
49 | VN_list = 42, /**/ a b. | syn._e.(..) | OK | OK | OK | d._e.(r._o,..) reg | OK | OK | OK | OK | OK | OK | OK new | OK |
53 | write_term(S,[quoted(true), variable_names([N=T])]). | i._e. | _164 | _583 | OK | OK | _328 | OK | OK | OK | OK | OK | OK | OK |
54 | S=1+T,N='/*r*/V',/**/ | 1+/*r*/V | 1 + /*r*/V | 1 + /*r*/V | d._e(v._n.,..) | 1+ /*r*/V | OK | d._e(v._n.,..) | OK | OK new | 1+ /*r*/ | OK new | OK | |
55 | S=1+T,N=' /*r*/V',/**/ | 1+ /*r*/V | 1 + /*r*/V | 1 + /*r*/V | d._e(v._n.,..) | OK | OK | d._e(v._n.,..) | OK | OK new | OK | OK new | OK | |
58 | S=1+T,N=(+),/**/ | 1++ or 1+ + | 1 + + | 1 + + | d._e(v._n.,..) | 1+ + | 1+ + | d._e(v._n.,+) | 1+ + | 1++ | 1+ + | 1++ new | 1++ | |
59 | S=T+1,N=(+),/**/ | ++1 or + +1 | + + 1 | + + 1 | d._e(v._n.,..) | ++1 | + +1 | d._e(v._n.,+) | + +1 | + +1 | + +1 | ++1 new | ++1 | |
69 | read_term(T,[singletons(1)]). | waits | OK | OK | OK | d._e.(r.,..) | OK | OK | OK | OK | OK | OK | OK new | OK |
70 | /**/ a. | fails | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK new | OK | |
71 | write_term(T,[ variable_names(['Bad'=T]), variable_names(['Good'=T])]). | Good | OK | OK | @@@@@@ | OK new | Bad | OK | OK | OK | OK | OK | OK | OK |
72 | read_term(T,[singletons([])]). | waits | OK | OK | @@@@@@ | OK | OK | OK | OK | OK | OK | OK | OK new | OK |
73 | Template | @@@@@@ |
varnames/1
instead.
There is also a read-option varnames/1:
variable_names( ? VarList )
- If a term is read in successfully, VarList is unified with a list of all named variables found in Term and their names in the form [Name = Variable, ... ], i.e. anonymous variables are not included in the list.
varnames( ? VarList )
- If a term is read in successfully, VarList is unified with a list of all variables found in Term and their names in the form [ Name = Variable , ... ] , i.e. anonymous variables are also included.
/storage/emulated/0/f
was used in place of f
.
e) An element E of the Options list is neither aAlso, some errors are specific to a particular option already:
variable nor a valid write-option
—domain_error(write_option, E)
.
8.11.5.3Solution in WDCor.3: use instantiation errors and domain errors only.
- l) An element E of the Options list is alias(A) and
A is already associated with an open stream
—permission_error(open, source_sink,
alias(A)).
- m) An element E of the Options list is
reposition(true) and it is not possible to repo-
sition this stream
—permission_error(open, source_sink,
reposition(true)).
-L iso
d151 1
a151 1
-L iso
d151 1
a151 1
read(X),X
. The comment /**/
is
@
1.24
log
@*** empty log message ***
@
text
@d73 1
a73 2
.reg { background: #FEF590 } /* regular use */
.ext { background: #FFFF60 } /* extended use */
d101 1
d116 1
a116 1
variable_names/1
d96 1
d115 1
a115 1
variable_names/1
a85 1
d105 2
d530 2
a531 1