tcl_init 以後、klitcl 述語にストリームを渡すときには、S2 を渡すようにする。main :- klitcl:klitcl_init(S1), klitcl:tcl_init(S1,S2), : :
main :- klitcl:klitcl_init(S), klitcl:tcl_init-S, : :
tcltk_init 以後、klitcl 述語にストリームを渡すときには、S2 を渡すようにする。main :- klitcl:klitcl_init(S1), klitcl:tcltk_init(S1,S2), : :
main :- klitcl:klitcl_init(S), klitcl:tcltk_init-S, : :
これは、wish において以下のコマンドを実行することと、ほぼ等価である。main :- klitcl:klitcl_init(S), klitcl:tcltk_init-S, klitcl:tcl_eval("label .l -text Test",Res1)-S, io:outstream([print(Res1),nl]), klitcl:tcl_eval("pack .l",Res2)-S, io:outstream([print(Res2),nl]), : :
% label .l -text Test % pack .l
Tcl スクリプトファイル foo.tcl を評価し、結果をRes に単一化している。main :- klitcl:klitcl_ini(S), : klitcl:tcl_evalfile("foo.tcl",Res)-S, :
Tcl 側から呼ばれる述語である foo は、tk_wait で終っている。これにより、次の Tcl 側からのイベントを待ちうける。main :- klitcl:klitcl_init(S), : klitcl:tk_mainloop-S, S=[]. foo(Args,I,O) :- : klitcl:tk_wait(I,O).
まず、tcl_quit を呼び klitcld を終了させ、その直後に klitcl_quit を呼ぶことで、終了コード0を持って終了している。quit(_,I,O) :- klitcl:tcl_quit(I,O1), klitcl:klitcl_quit(O1,0).
まず、tcl_quit を呼び klitcld を終了させ、その直後に klitcl_exit を呼ぶことで、終了コード 0 を持って終了している。quit(_,I,O) :- klitcl:tcl_quit(I,O1), klitcl:klitcl_exit(O1,0).
これにより、Token は "foo" に、Follow は "bar" に、それぞれ単一化される。: klitcl:token("foo bar",Token,Follow), :
これにより、Strings は、"Hello world" に単一化される。: klitcl:chop("Hello world!",Strings), :
これにより、Int は整数アトム 8086 に単一化される。: klitcl:atoi("8086",Int), :
これにより、Strings は文字列"6809"に単一化される。: klitcl:atoi(6809,Strings), :