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 :-)