Skip to content

Conversation

@texttheater
Copy link
Contributor

Avoiding the term "mode" because PlDoc templates don't align 1:1 with modes.
Introduced more explicitly what a template is.

Avoiding the word "must" in instantiation pattern descriptions, phrased things
descriptively.

Added two gotchas, one for users about calling predicates not according to
templates, and one for developers to respect the specific semantics of output
arguments.

Avoiding the term "mode" because PlDoc templates don't align 1:1 with modes.
Introduced more explicitly what a template is.

Avoiding the word "must" in instantiation pattern descriptions, phrased things
descriptively.

Added two gotchas, one for users about calling predicates not according to
templates, and one for developers to respect the specific semantics of output
arguments.
As suggested by Markus Triska
@texttheater
Copy link
Contributor Author

Yep, thanks! Fixed.

@triska
Copy link
Member

triska commented May 24, 2015

Great, thank you! Notice also that there is a difference between unbound and free, because a variable may be unbound, and also be involved in constraints. Therefore, instead of:

Determinism declarations assume that the argument is unbound at call. For
the case where the argument is bound, ...

you can say for example:

Determinism declarations assume that the argument is a free variable at call time. For
the case where the argument is bound or involved in constraints, ...

As suggested by Markus Triska
@texttheater
Copy link
Contributor Author

Ah, I didn't know that, thanks for explaining! Fixed.

@JanWielemaker
Copy link
Member

Thanks. I'm not entirely happy with dropping the "must be", but I'm happy enough to have merged
the commits. I squashed them into one though, keeping Markus in the commit message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants