3 ms·
Unfortunately the iso standard for prolog is kind of inadequate. It doesn't include a module system for instance. It also doesn't define the attributed variable
by Avshalom 4y ago
Unfortunately the iso standard for prolog is kind of inadequate. It doesn't include a module system for instance. It also doesn't define the attributed variable interface which is fundamental to constraint logic programming.
It's kind of a Scheme r5rs situation.
- tannhaeuser 4y agoWell, there is ISO 13211-2 - Prolog part 2: modules [1], but it was flawed, ignored, and didn't help portability. There was also the Prolog Commons [2] initiative to identify common ground for basic libs. The importance of these features are judged differently depending on whether you're belonging to those who want to use Prolog in the large (with types and libs, LogTalk being an extreme example) vs those who want to embed Prolog into a host language and use it just for what Prolog really excels at. Having ported a non-trivial Prolog code base to ISO Prolog [3], I can say that lack of modules/libs wasn't the problem in that particular case (I really should come around and write up a more comprehensive tutorial for common problems in porting Yap- and SWI-specific code to ISO Prolog based on the material I have). [1]: https://www.iso.org/standard/20775.html https://www.iso.org/standard/20775.html [2]: https://prolog-commons.org/ https://prolog-commons.org/ [3]: https://quantumprolog.sgml.io/bioinformatics-demo/part1.html https://quantumprolog.sgml.io/bioinformatics-demo/part1.html