slim icon indicating copy to clipboard operation
slim copied to clipboard

atomモジュールの改良

Open nikosai opened this issue 4 years ago • 3 comments

  • A=atom.new(F,N) で生成されるアトムは引数にデータアトム0が接続されるのがデフォルトとなっているが、この接続されるアトム(またはground型グラフ)を任意に指定できたほうが使い勝手がよい
  • cb_atom_swap が呼び出されるたびにデバッグ出力が(標準出力に)出てしまう
    • これは単純に printf をコメントアウトするだけで良い

nikosai avatar Jun 23 '20 11:06 nikosai

どのような仕様がよいですか.二種類考えられます.

  1. N個(不特定多数)の引数に同じアトム(またはグラフ)を接続したい
  2. 固定個(静的にわかる個数)の引数に,異なる引数を接続したい 前者は現在のAPIの拡張,後者は既存のアトムからファンクタ名の変更で作る(機能を提供する)のが簡単そうです.

k-ueda avatar Feb 14 '24 00:02 k-ueda

恐らく当時は「任意価のaアトムからなるグラフの生成」プログラムを書こうとしていて、前者の仕様であれば例えば a(end,end,...,end) のようなアトムを(ランダムに)生成して、X=end, Y=end :- X=Y のように消していけば上記目的を達成できる、と考えていたのだと思います。

後者は既存APIの atom.new(+F, +L) (Fにアトム名(string)、Lに引数リンクのリストを指定)で実現可能のように思います。

nikosai avatar Feb 14 '24 00:02 nikosai

前者は簡単なので作りましょうか.指定できるのはunaryアトム限定でもよいかも.

k-ueda avatar Feb 14 '24 00:02 k-ueda