This document lists the defect reports for DCor3. It refers directly to C1 up to C19 of this document.

R1 Errors for existing options are inconsistent, extensions are only mentioned without errors.

Submitted by Ulrich Neumerkel

The domain error for stream-, close-, read- and write-options (7.10.2.11, 7.10.2.12, 7.10.3, 7.10.4) listed in 8.11.5.3 i, 8.11.6.3 e, 8.14.1.3 e, 8.14.2.3 e is satisfied also for cases where only an instantiation error (7.12.2 a) fits.

Solution: Add further conditions for the instantiation errors and modify mentioned error conditions for domain errors (C14). Add as note the general principles for handling errors in options (C9). Allow explicitly extensions to options and specify the error conditions (C1). Add examples (C16).

R2 Prolog text cannot end with layout text.

Submitted by Ulrich Neumerkel

Solution: Add optional layout text sequence in grammar (C2).

R3 Iterated-goal term not well defined for variables.

Submitted by Per Mildner

A variable as a goal always unifies with `^(_, Goal)`

, and
thus there is an infinite loop/no defined result.

Solution: Do not unify but only test (C3).

R4 Example for

`call(G)`

does not convert
the term to a goal.
Submitted by Jan Burse

Solution: Add conversion to example (C4).

R5 For read-options

`variable_names/1`

, `singletons/1`

the
order is left undefined, for `variables/1`

output-unification is left out.
Submitted by Ulrich Neumerkel

Solution: Specify orders, add unification (C5).

R6 There is the read-option

`variable_names/1`

but the corresponding
write-option is missing.
Submitted by Ulrich Neumerkel

Solution: Add option (C6), add option to writing a term (C7 a1).

R7 Writing a term uses functional notation too often, sometimes incorrect.

Submitted by Ulrich Neumerkel and Feliks Kluzniak

Writing a term (7.10.5) leaves out

- writing of list notation (6.3.5)
since 7.10.5 g is not used, when no infix dot operator is present like
`[:-,-]`

, - curly bracketed terms (6.3.6) like
`-{a}`

, - comma and bar as infix operators like
`a :- b,c`

, - round brackets when terms cannot be read back in the same way
otherwise like
`- (1)`

, - writing
`'$VAR'(0)`

as`A`

with effective write-option`numbervars(true)`

, and - guaranteeing in 7.10.5 a that "the same character sequence is used
for each occurence of a particular variable". The subclause
applies only to the actual local
`Term`

which is a single variable and not the entire term written.

Solution: Modify 7.10.5 (C7).

R8 Missing type

`float`

, superfluous type
`character_code_list`

, missing comma.
Submitted by Joachim Schimpf

Solution: (C8).

R9 Example 8.5.1.4 does not include the case when the Prolog flag

`max_arity`

has a value `unbounded`

.
Submitted by Jan Burse

Solution: Add case for unbounded flag (C10).

R10 Typo in assertz/1 description.

Submitted by Jan Burse

Solution: C11.

R11 Original 8.10.3.4 example no.20 was right. The change introduced in Cor.1 was incorrect.

Submitted by Ulrich Neumerkel

Solution: C12

R12 Description of

`set_ouput/1`

misses
success.
Submitted by Ulrich Neumerkel

Solution: C13.

R13 Reading process misses reference.

Submitted by Ulrich Neumerkel

The reading process defined in 8.14.1.1 specifies in step k that parsing should be performed using a non-terminal for tokens (6.4). However, parsing needs the full syntax in (6.2.2) otherwise no terms are constructed.

Solution: C15.

R14 Example writing dot incorrect.

Submitted by Mats Carlsson

With an effective write-option `quoted(true)`

, dot as atom, functor, and operator should always be written the
same way, that is, using quotes, because there is a single place which
is used by all three to determine whether or not the atom should be
quoted (7.10.5 d) and because "(2) the sequence of characters forming
the atom could not be input as a valid atom without quoting". Thus,
the example in 8.14.2.4 should be changed to include quotes.

Solution: C16.

R15 Incorrect type in domain error.

Submitted by Joachim Schimpf

In the fourth example of 8.17.1.4 a domain `flag`

is used,
but there is only the domain `prolog_flag`

.

Solution: Replace domain (C17).

R16 Power takes unevaluated second argument.

Submitted by Ulrich Neumerkel

According to 9.3.1.3 c, `X is -1.0** (1+0)`

would be an
error, while `X is -1.0**1`

succeeds.

Solution: C18.

R17 Unexpected error condition in integer power.

Submitted by Per Mildner and Joachim Schimpf

The definition of integer power is too restrictive.
E.g.,
`X is -1 ^ -2`

produces an error, yet it should be the
integer `-1`

.

Solution: C19.

Ulrich Neumerkel (editor)

Institut für Computersprachen E185/1

TU Wien

Argentinierstr. 8

A-1040 Wien

Austria

Telephone: +43 1 58801 18513

E-Mail: Ulrich.Neumerkel@@tuwien.ac.at

September 2016

Validated HTML @ 1.6 log @Last change before submission as N271 @ text @d211 1 a211 1 parsing should be performed using a non-terminal for tokens (6.4) However, @ 1.5 log @*** empty log message *** @ text @d132 2 a133 2

R5 For read options

`variable_names/1`

, `singletons/1`

the
d252 1
@
1.4
log
@*** empty log message ***
@
text
@d97 3
a99 3
(7.10.2.11, 7.10.2.12, 7.10.3, 7.10.4) as listed in 8.11.5.3 i,
8.11.6.3 e, 8.14.1.3 e, 8.14.2.3 e applies also for cases where only an
instantiation error (7.12.2 a) applies.
d105 1
a105 1
extensions to options and specify the error conditions that apply
d109 1
a109 1
R2 Prolog text cannot end with layout characters. d158 2 a159 2

`-{a}`

`a :- b,c`

d162 1
a162 1
(1); and
d164 1
a164 1
write-option `numbervars(true)`

.
d179 2
a180 2
R9 Example 8.5.1.4 not applicable to unbounded flag. d223 1 a223 1 quoted and because (7.10.5 d) "(2) the sequence of characters forming @ 1.3 log @Feliks included @ text @d133 1 a133 1 options

`variables_names/1`

, `singletons/1`

the
d167 1
a167 1
applies only the actual local `Term`

which is a single variable and not the entire term written.
d220 1
a220 1
Dot as atom, functor, and operator should always be written the
d243 1
a243 1
error, while `X is -1.0**1`

works.
@
1.2
log
@*** empty log message ***
@
text
@d80 1
a80 1

Submitted by Ulrich Neumerkel d165 3 @ 1.1 log @Initial revision @ text @d147 1 a147 1

Solution: Add option (C6), add option to writing a term (C7 a1) d167 1 a167 1

Solution: Modify 7.10.5 (C7) d181 1 a181 1

Solution: Add case for unbounded flag (C10) d211 1 a211 1

Solution: C15 d226 1 a226 1

R15 Incorrect type in domain error d252 1 a252 1

Solution C19. @