ノード数 4 の構成でゴール spawnのプロセスを 8 個サイクリックに 割り付けたプログラム例を次に示す. 生成するプロセスの 個数は引数で指定し, ノード数も組込み述語で調べているため, 汎用的に使える例である.
:- module foo.
distribute(N):- true | %(1)
current_node(_,PEs), %(2)
fork(N,PEs,0). %(3)
fork(0,PEs,PE):- true | true. %(4)
otherwise.
fork(N,PEs,PE):- PeNo:=PE mod PEs| %(5)
spawn@node(PeNo), %(6)
NextPE:=PE+1, %(7)
N1:=N-1, %(8)
fork(N1,PEs,NextPE). %(9)
``foo:distribute(8)'' を実行すると, spawnプロセスはノード
の 0, 1, 2, 3, 0, 1, 2, 3 に割り付けられる.