slim
slim copied to clipboard
atomモジュールの改良
-
A=atom.new(F,N)
で生成されるアトムは引数にデータアトム0
が接続されるのがデフォルトとなっているが、この接続されるアトム(またはground型グラフ)を任意に指定できたほうが使い勝手がよい -
cb_atom_swap
が呼び出されるたびにデバッグ出力が(標準出力に)出てしまう- これは単純に
printf
をコメントアウトするだけで良い
- これは単純に
どのような仕様がよいですか.二種類考えられます.
- N個(不特定多数)の引数に同じアトム(またはグラフ)を接続したい
- 固定個(静的にわかる個数)の引数に,異なる引数を接続したい 前者は現在のAPIの拡張,後者は既存のアトムからファンクタ名の変更で作る(機能を提供する)のが簡単そうです.
恐らく当時は「任意価のaアトムからなるグラフの生成」プログラムを書こうとしていて、前者の仕様であれば例えば a(end,end,...,end)
のようなアトムを(ランダムに)生成して、X=end, Y=end :- X=Y
のように消していけば上記目的を達成できる、と考えていたのだと思います。
後者は既存APIの atom.new(+F, +L)
(Fにアトム名(string)、Lに引数リンクのリストを指定)で実現可能のように思います。
前者は簡単なので作りましょうか.指定できるのはunaryアトム限定でもよいかも.