Did you know ... | Search Documentation: |
![]() | Pack logicmoo_nlu -- ext/regulus/doc/README_SICSTUS4.txt |
RUNNING REGULUS APPLICATIONS UNDER SICSTUS 4
Regulus is intended to work under both Sicstus 3 and Sicstus 4. If you are trying to port a Sicstus 3 Regulus application to Sicstus 4, here are some initial pointers:
:- ensure_loaded('$REGULUS/PrologLib/compatibility')
.
If you want your app to run both under Sicstus 3 and under Sicstus 4, you are advised to look carefully at $REGULUS/PrologLib/compatibility.pl and $REGULUS/PrologLib/utilities.
Replace server-side sequences like
current_host(Host), socket('AF_INET', Socket), socket_bind(Socket, 'AF_INET'(Host, Port)), socket_listen(Socket, 5), socket_accept(Socket, Client, Stream)
with
safe_socket_server_open(Port, Socket), safe_socket_server_accept(Socket, Client, Stream)
You can see an example in $REGULUS/Prolog/dialogue_server.pl.
Replace client-side sequences like
socket('AF_INET', Socket), socket_connect(Socket, 'AF_INET'(Host, Port), Stream)
with
safe_socket('AF_INET', Socket), safe_socket_connect(Socket, Host, Port, Stream),
You can see an example in $REGULUS/Examples/Calendar/Prolog/toy1_app_using_server.pl.