Jekejeke Prolog 1.3.2 (TCP sockets and thread groups)
Jan Burse, created Dec 09. 2018, modified Dec 27. 2018
We just uploaded a new release of Jekejeke Prolog. We improved the connectivity of the Prolog interpreter:
- Module "socket":
This module provides TCP/IP sockets. The input and output streams of a session socket can be opened, processed and closed with the ISO core standard stream predicates. We also added some byte block predicates such as read_block/[2,3] and write_block/[2,3].
- Module "group":
This module provides thread groups. It is now possible to create threads inside custom thread groups and leave behind the flat structure of the "main" thread group. This is already used in our load balancer which now also provides a new predicate spawn/1.
- Package "notebook":
JSON can be mapped to an extended DOM. There is a new JSON parser and unparser that takes the indirect way over DOM. We moved all the DOM related modules into a new package in the development enviroment. A more direct parser and unparser is still planned for the next release.
The new modules could be of interest to those that would like to implement mid-level communication protocols such as HTTP, WS, etc.. directly inside Prolog without using some third party Java server or client libraries. We do not yet provide some of these communication protocols, this is only a first take on corresponding low-level modules.