Did you know ... | Search Documentation: |
Pack chan -- README.md |
:- use_module(library(chan),[]). ?- chan:new(Tx,Rx), chan:send(Tx, hello), chan:recv(Rx, Message). Message = hello .
SWI-Prolog has great primitives for communicating between threads. This library is for applications which prefer a directional channel abstraction similar to that used in Go or Rust.
This is a relatively thin API on top of SWI-Prolog's message queues.
Using SWI-Prolog 7.1 or later:
?- pack_install(chan).
This module uses semantic versioning.
Source code available and pull requests accepted at http://github.com/mndrix/chan