На новость не тянет, имхо, так что напишу здесь.
SWI-Prolog обновился до версии 7.1.0. Подробный список изменений можно найти тут.
Версия для Ъ:
- Lists are no longer represented as .(H,T). Instead, the list functor is now '$cons'(H, T). The empty list is still [], but this is not an atom. I.e., '[]' == [] fails.
- By default, double quoted «text» is mapped to an object of type string. This already raised some discussions.
- The system introduces `maps' as primary citizens. Maps are collections of key-value pairs, optionally typed. Maps are supported by read and write.
- Quoted atoms are no longer operators.
- Unquoted atoms may contain internal dots. E.g., a.b is an atom.
- functor() is valid syntax. It produces a term that is distinct from 'functor'. The `block' operator '()' to hack this syntax has been removed.
- The `block' operators [] and {} remain.