The Logtalk Handbook Logo
3.57.0

Contents

  • User Manual
  • Reference Manual
    • Grammar
    • Control constructs
    • Directives
    • Built-in predicates
    • Built-in methods
      • Logic and control
      • Execution context
      • Reflection
      • Database
      • Meta-calls
      • Error handling
      • All solutions
      • Event handling
      • Message forwarding
      • Definite clause grammar rules
      • Term and goal expansion
      • Coinduction hooks
      • Message printing
        • print_message/3
        • message_tokens//2
        • message_hook/4
        • message_prefix_stream/4
        • print_message_tokens/3
        • print_message_token/4
      • Question asking
  • Tutorial
  • FAQ
  • Developer Tools
  • Libraries
  • Ports
  • Contributions
  • Glossary
  • Bibliography
  • Index

External Contents

  • APIs
  • Logtalk website
  • GitHub repo
The Logtalk Handbook
  • »
  • Reference Manual »
  • Built-in methods »
  • Message printing »
  • print_message/3
  • Edit on GitHub

print_message/3

Description

print_message(Kind, Component, Term)

Built-in method for printing a message represented by a term, which is converted to the message text using the logtalk::message_tokens(Term, Component) hook non-terminal. This method is declared in the logtalk built-in object as a public predicate. The line prefix and the output stream used for each Kind-Component pair can be found using the logtalk::message_prefix_stream(Kind, Component, Prefix, Stream) hook predicate.

This predicate starts by converting the message term to a list of tokens and by calling the logtalk::message_hook(Message, Kind, Component, Tokens) hook predicate. If this predicate succeeds, the print_message/3 predicate assumes that the message have been successfully printed.

By default: messages of kind debug or debug(_) are only printed when the debug flag is turned on; messages of kind banner, comment, or comment(_) are only printed when the report flag is set to on; messages of kind warning and warning(_) are not printed when the report flag is set to off; messages of kind silent and silent() are not printed (but can be intercepted).

Modes and number of proofs

print_message(+nonvar, +nonvar, +nonvar) - one

Errors

(none)

Examples

..., logtalk::print_message(information, core, redefining_entity(object, foo)), ...

See also

message_hook/4, message_prefix_stream/4, message_tokens//2, print_message_tokens/3, print_message_token/4, ask_question/5, question_hook/6, question_prompt_stream/4

Previous Next

© Copyright 1998-2022, Paulo Moura.

Built with Sphinx using a theme provided by Read the Docs.