WG17 changes course

This just in: WG17 changes course

Tired of being cursed by all for standardization problems and mishaps, the next ISO Prolog Core standard revision will mandate:

- Forward-chaining inference mechanism. Stated reason: you cannot move Prolog forward doing backward reasoning.

- Replacement of stream-based input/output with revamped, time-proved, Edinburgh-style input/output. Highlights: see_what/1 and told_you_so/0 built-in predicates for DWIM user-friendly semantics.

- New character escape 0'\q unexpectedly quits Prolog for those embarrassing programming moments.

- Due to all controversy regarding char_conversion/2, from now on all standards will be published in Esperanto.

- Attempting printing of cyclic terms will endlessly print the lyrics of “99 bottles of beer on the wall”.

- New operator class yfy for decomposing operands.

- Singleton variable report by read_term/3 is deprecated as it’s not politically correct to complain about a variable choice of life-style. In addition, for privacy reasons, the variable_names/1 option is also deprecated.

- New value for the unknown flag, true, provides a sharp decrease on the number of “no“s reported by Prolog interpreters. Specially relevant in educational environments, it will hopefully contribute to make the language more attractive to students.

- Database built-in predicates are enhanced with an optional argument for cloud computing. Handy for hiding your dirty programming tricks.

- The de facto standard freeze/2 predicate is added to the standard but with an extra argument that allows the user to specify a time-out value, freeing the goal to fulfill its destiny.

- Further details are still being worked out but stay tuned.

Hoping that no one here is humor-impaired, Happy April Fools’ Day :-)


3 Responses to “WG17 changes course”

  • Victor Lagerkvist

    Oh, you rascal! You had me for a second there.

  • Nicolas Pelletier


    In an attempt to clarify the use of the 0′ notation for non-printing characters, every newline not appearing inside an atom will need to be written as 0′\n, unless it is already inside an escaped context.

    To support current practice and the various interpretations of quoted character codes found in leading Prolog implementations, introduction of a 1′ notation to support compiler dependent interpretation of character escapes. Strict ISO compatibility can be achieved through the use of goal rewriting facilities.

    Introduction of an additional value for the current_prolog_flag dialect, somewhat_iso, for when you need some ISO compatibility, but not too much.

  • Paulo Moura

    The new “somewhat_iso” flag you suggest would indeed speak the truth! It would be like the Prolog compiler saying: “Ok, I will cooperate with you, but don’t push it!”. Splendid idea :-)