1 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 20:23:54 ] 過去スレ Prologでまったり Part3 pc11.2ch.net/test/read.cgi/tech/1193354806/ PrologでまったりPart 2 pc11.2ch.net/test/read.cgi/tech/1102664221/ Prolog でまったり pc5.2ch.net/test/read.cgi/tech/976462999/ リンク集 www.summa.jp/lang/logic/prolog.htm bach.istc.kobe-u.ac.jp/prolog/ チュートリアル www.amzi.com/AdventureInProlog/ computing.unn.ac.uk/staff/cgpb4/prologbook/ www.intranet.csupomona.edu/~jrfisher/www/prolog_tutorial/pt_framer.html bach.istc.kobe-u.ac.jp/prolog/intro/ www.geocities.jp/m_hiroi/prolog/ www.asahi-net.or.jp/~JF1T-YSD/prologV2/
44 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 08:15:04 ] >>8 > 重複しないようにするにはどうすればいいでしょうか。 最初見たとき livesNear(P,Q), P @< Q と書いて「いや、それはちょっと…」という反応を見たいと思ったのに規制のせいで
45 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 09:56:29 ] >>44 ならほど。考えも及ばなかったwww
46 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 10:02:19 ] なるほど。でした・・・
47 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 14:11:05 ] >>44 この話題から外れるけれど・・ アトム(文字列)の大小比較は、集約(鍵)問題を扱ったとき場合を以外には、 実務的にあまり使う機会はなかったのですが、最近、古庄普二著 東大総研刊 「汎用超高速データベース処理技術 多様なデータ構造と超並列への普遍的アプローチ RealTimeVIDP」 を読んでPrologのデータ構造の中に値の順序性をもう少し取り入れる余地は ないかなど気になっていた。
48 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 14:16:39 ] >>43 どんな感じであやしい?
49 名前:47 mailto:sage [2009/03/28(土) 14:59:44 ] 古庄晋二著でした
50 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 18:23:58 ] >>48 はっきり変だと思えるのは?_の扱い。関数ab、fb(束縛の追加と検索?)あたりでは 無名変数もどきというか、単一化されない扱いになってるんだけど、 実際には、?xなどのローカルな変数名をgensymで作ったグローバルな名前に 書き換えるとき、何も特別扱いされていないから、意味がないんじゃないかっていう。
51 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 10:14:03 ] そろそろSWI-Prolog Reference Manual の邦訳が欲しくなってきた。 SWI-Prologの動きが活発になってきて、参照機会が急に増えた。 こうなってくると、常に楽に参照できる「ベース」が欲しい。
52 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 01:39:45 ] 精神力が異常。
53 名前:デフォルトの名無しさん [2009/05/07(木) 08:08:13 ] prologで同じ解を出さないようにするにはどうするの?誰か教えて><
54 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:14:00 ] >>53 >>8 以下を読んでみてください。
55 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 00:05:44 ] Prolog用語を整理しかけたら、変なことに気づいた。 ISO、JISではどうやら、 '' は null atom(空アトム) [] は empty list(空リスト) らしい。 null と empty の使い分けもまあ微妙だけど、もし www.weblio.jp/category/computer/prolg が五十音順だとすると、ひょっとして 空(から)アトム 空(くう)リスト と読み分けるんだろうか、という疑問が湧いたw
56 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 12:05:58 ] ISLISP (JIS X 3012) の訳語対照表では 「く」の位置に 空リスト empty list 空リスト null とあるな。 ISLISP では null と empty list が同一視されるから、このような訳しかたを 選んだようだが。
57 名前:デフォルトの名無しさん [2009/05/09(土) 10:54:13 ] prologでちょっと複雑なことさせようとするとプログラミングするのがかなり難しい>< これも慣れると簡単になるのだろうか
58 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 08:23:49 ] >>57 どのような部分で難しいと感じるか、教えてください。 できればソースプログラムを見せてください。
59 名前:デフォルトの名無しさん [2009/05/10(日) 10:10:05 ] >>58 ソートの処理をさせるときとか
60 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:26:44 ] >>59 ソートはちょっと違うかも知れないけど・・・。 Prologのプログラミングはただひたすら、appendだけで プログラムを書くつもりで行けばよい。
61 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 05:22:09 ] >>60 repeat. repeat :- repeat. は append([],X,X). append([U|X],Y,[U|Z]) :- append(X,Y,Z). 実は同一パターン。 member(A,[A|_]). member(A,[_|R]) :- member(A,R). は ?- ..., repeat, ... は ?- ..., append(_,_,_), ... でいけそうだが、 スタックオーバーフローを起こすだろうから実用にはならない。 member(A,L) :- append(L1,[A|L2],L). だから、 ?- ... ,member(A,L), は ?- ... , append(_,[A|_],L), でよい。 member/2を使っていると、member/3 member(A,[A|R],R). member(A,[_|R1],R) :- member(A,R1,R). や member/4が欲しくなる。 member(A,[],[A|R],R). member(A,[B|R1],[B|R2],R) :- member(A,R1,R2,R). ここまでくると 引数の位置が違うだけでappend/3と同じ述語と考えてよい。つまり、 Prologプログラムの大半にmember/2が絡んでくるがこれは全部append/3でよい。
62 名前:60 mailto:sage [2009/05/11(月) 05:51:47 ] すみません。ちょっと編集をまちがえた。 repeat. repeat :- repeat. は append([],X,X). append([U|X],Y,[U|Z]) :- append(X,Y,Z). と 実は同一パターン。 ?- ..., repeat, ... は ?- ..., append(_,_,_), ... でいけそうだが、 スタックオーバーフローを起こすだろうから実用にはならない。 member(A,[A|_]). member(A,[_|R]) :- member(A,R). は ... <以下略> が正しい順序でした。
63 名前:60 mailto:sage [2009/05/11(月) 05:55:25 ] >>62 さん 60は私ですw
64 名前:60 mailto:sage [2009/05/11(月) 06:09:03 ] どこまで、副目標としてappend/3を使うか、それとも 別述語を定義して使うのかは指針があるわけでもなく、 迷うけどね。
65 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 22:12:02 ] >>57 なんでappendの話に飛ばしたかというと、Prologプログラムは8割方が 簡易オンメモリデータベース。残りの2割の内、7割くらいが findall/3 と append/3 (member/2) の組み合わせ。(fail;trueもありますね)。 残りの6%くらいが入出力とかsplit,atom_codesのような文字列処理。 こんな配分です。つまり、"データこそすべて"プログラミングに findall append を粘り強く積み重ねるだけで、ほとんどの難しい ところはなくなってしまいます。 あなたが指摘した"複雑なこと"のプログラミングは極めて例外的な 部分ではないかと思います。
66 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 02:51:24 ] ロジック プログラミング言語「デカルト言語」の開発者に聞く - SourceForge.JP Magazine sourceforge.jp/magazine/09/05/11/0417217 さあ聞こうじゃないか もちろんまだ読んでないがw
67 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 11:57:07 ] >>66 Kbuntu 7.1 でコンパイルしてみたら、 syserr.c:31:21: error: ncurses.h: No such file or directory syserr.c: In function 'void syserr(char*, ...)': syserr.c:59: error: 'endwin' was not declared in this scope make: *** [syserr.o] エラー 1 となりうまくいかない。どうすればいいの?
68 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:33:37 ] >>67 svn.sourceforge.jp/view/trunk/descartes/configure.in?view=log&root=descartes > 14 : dnl Checks for libraries. > 15 : dnl Replace `main' with a function in -lncurses: > 16 : AC_CHECK_LIB(ncurses, main) > 17 : dnl Replace `main' with a function in -lreadline: > 18 : AC_CHECK_LIB(readline, main) よくわからんけど、どうやらここの「main」というのはテンプレ通りで、 本当は「各ライブラリに含まれるはずの関数」を指定しなければライブラリの存在チェックにならないんじゃないかな
69 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:34:48 ] と、思わず一つ勉強になっちゃったぜ えへへ
70 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 15:58:20 ] これこれ www.gnu.org/software/hello/manual/autoconf/Libraries.html > Test whether the library library is available > by trying to link a test program > that calls function function with the library.
71 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:03:55 ] >>67 結論としては、作者にこのスレを教えてあげるとかw
72 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:27:23 ] >>67 ちょっとソース見たけど、ncursesがなかった場合に対応できるような感じではなかったから、 どのみちncursesを入れなきゃダメなんだろうね
73 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 10:25:12 ] >>72 ncurses.hは Kbuntu Ubuntu にはなくて、私がすぐ手に入るのは、 FC5のncurses.hディレクトリなんだけど、これをコピーすれぱいいのかな? やってみよう。
74 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 14:17:57 ] ディレクトリはncurses.h ではなくてncursesだった。続いて、 readlineディレクトリが無いときた。これもコピーと・・・
75 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 14:29:17 ] c++ -g -O2 -o descartes pl.o pllex.o unify.o bin_node.o gc.o var.o \ pred.o syserr.o builtin.o expression.o context.o module.o let.o regex.o \ token.o func.o timeout.o utf8.o euc.o sjis.o code.o help.o mkstemp.o \ cwd.o sysmodule.o format.o sleep.o complx.o lisp.o compiler.o matrix.o \ ncurlib.o lib_include.o opcall.o syserr.o: In function `syserr(char*, ...)': /home/k1/descartes/syserr.c:59: undefined reference to `endwin' sysmodule.o: In function `GetlineEval()': /home/k1/descartes/sysmodule.c:2409: undefined reference to `readline' /home/k1/descartes/sysmodule.c:2411: undefined reference to `add_history' sysmodule.o: In function `GetLine(Context*, Node*, List*)': 以下、大量にエラーがでて撃沈。
76 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 14:47:45 ] 何か無茶苦茶やってませんかw とりあえず綴りは「Kbuntu」じゃなくて「Kubuntu」みたいですね 使ったことないけど ubuntuforums.org/showthread.php?t=296224 > Re: install curses/ncurses > sudo apt-get install build-essentials > sudo apt-get install libncurses5-dev こんな情報が
77 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 14:49:52 ] てゆーかもうさすがにスレ違いかと
78 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 16:01:17 ] >>77 デカルトさんまたねw
79 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 16:32:46 ] slashdot.jp/interview/09/05/11/0445205.shtml こっちのページの方が面白そうだよ 作者も降臨してるし
80 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 17:19:06 ] デカルト言語のキーワードの一つは「オレオレ」かな
81 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 17:20:16 ] オレ惟ふ故にオレオレ
82 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 20:15:19 ] ttp://lists.sourceforge.jp/mailman/archives/descartes-developer/2009-May/000012.html > 次のPrologのプログラムはDecartes > ではどのように書けばよいのでしょうか。 > > factorial(0,1). (以下略) sourceforge.jp/projects/descartes/wiki/ManGrammar ここによると、 ・is/2にあたるのは、<let #変数名 = 式>、<#変数名 = 式>など ・(<)/2など、数値の関係を与える式の評価は、<compare 式>など ・ただし、扱う数値の型によって述語を使い分ける必要がある(letf、letc、comparef) みたいな感じ?要はLispで適当にマクロを組んだ感じかな
83 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 20:23:39 ] しばらく読んでみたけど、結局、 sourceforge.jp/projects/descartes/wiki/ManBuiltin X+b = a+Y という単純なマッチングを普通に書く方法が見つからないww
84 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 08:29:52 ] :- op(850,xfx,>>). ?- もう少し本格的な生成文法でなんとかならないの >>76 .
85 名前:84 mailto:sage [2009/05/17(日) 08:31:59 ] 誤爆です。こっちへ書くつもりだった。 pc12.2ch.net/test/read.cgi/tech/1179157784/
86 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 09:13:13 ] >>85 閑してますねw
87 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 19:50:12 ] 学生さん! どなたかこの本、邦訳してくださらないか。 "Building Expert Systems in Prolog" Dennis Merritt著 1989年 Springer-Verlag ISBN 0-387-97016-9
88 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 00:11:34 ] >>87 エキスパートシステムって、実用化までたどり着けなかったシステムと 聞いてますけど、いまさら翻訳する意味あるんですか。
89 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 02:38:11 ] 駅スパアトなら使ってるけど?
90 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 04:35:33 ] >>88 金字塔的な書籍は何でも読みたい。 ロジカルアプローチは世界的に再評価の時期に入っているから、 読み直しの要求は出てくるよ。
91 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 05:19:32 ] >>88 エキスパートシステムは漸く事業化の時期に来たのではないか。 20年(一世代)待ったということになる。 エージェントアプローチ + エキスパートシステムでリプレース できるアプリケーションは無限にあるよ。
92 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 06:59:08 ] 比較的最近"眺めた"本で翻訳して欲しいなぁと思った本を列挙。 "Towards Putting Abstract Interpretation of Prolog into Practice" F.Gobert著 2008 年 VDM Verlag ISDN:978-3-8364-8858-7 "Clause and Effect" --Prolog Programming for the Working Programmer-- William F.Clocksin著 1997年 Springer Verlag ISBN:3-540-62971-8 "Intelligent Image Processing in Prolog" Bruce Batchelor著 1991年 Springer-Verlag ISBN:3-540-19647-1 (この本は初心者言語スレで 紹介したところ何故か罵倒された) "AI Algorithms, Data Structures, and Idioms in Prolog,Lisp, and Java" George F.Luger William A.Stubblefield共著 2009年 Addison Wesley ISBN-13:978-0-13-607047-4 (この本はAI携帯スレで紹介した)
93 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 09:32:23 ] 三重野博司著の「人事情報エキスパートシステム」という本に210くらいの 質問事例が載っています。ほとんど揺らぎとでも表現したいくらいの微妙な 差異のif-thenルールを積み重ねているのですが大変参考になりました。 それで感じたのはエキスパートシステムを能率よく構築するためには 質問文やif-thenルールの自動生成が欠かせないのではないか、という ことでした。
94 名前:93 mailto:sage [2009/05/19(火) 09:49:21 ] 210くらいのif-thenルールが載っています。 でした・・
95 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 09:51:34 ] オントロジーは?
96 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 10:17:05 ] オントロロロギッタンディスカー
97 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 23:45:46 ] blog.livedoor.jp/heitatta/archives/65113337.html > もともと大学で Lisp を少しやっていたので、() をカッコ、コッカと読む習慣は持っているのだが、 > [] をギッコン、ガッコンと読まれて面喰らった。そーか、そう読むのか。 mjd?
98 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 01:04:31 ] www-ksl.stanford.edu/kst/what-is-an-ontology.html
99 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 05:01:56 ] >>93 最初に言語のクラスを定義しておいて、組み合わせで 文を生成していくというようなことかな。 エキスパートシステムにそういう部分が必須であると いう意味ですか? 言語クラスの定義、辞書の定義まで、すべてのアプリ ケーションのリプレースに必要とまでの主張だとすると 多少はオントロジーとも無関係ではないかもしれないw
100 名前:デフォルトの名無しさん [2009/05/20(水) 05:29:18 ] Prologって今から思えても意味ありますか? 特技みたいに思ってもらえたりするでしょうか?
101 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 05:40:22 ] >>100 思えても→覚えても でした
102 名前:デフォルトの名無しさん [2009/05/20(水) 07:14:59 ] >>100 これからがPrologの時代です。
103 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 07:23:08 ] >>100 私がPrologを使うのは生産性が高いからですよ。 それ以外のことは、まあどうでもいいです。
104 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 09:09:18 ] >>100 あなたが、今プログラミングをしたことのない60才だとします。 "Prolog以外"のプログラム言語をこれから覚えて使いこなすのは 不可能といっていいでしょう。これが答えです。
105 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 09:47:05 ] Prolog始まっ・・・そんなものはとっくに始まってるさ
106 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 10:02:14 ] 企業経営という観点からいうと、 反射的にコストを考えてしまう社員は要らない。反利速的な経営の 基礎となる情報システムは記号処理言語を基礎に上層を築き直さな くてはならない。Prologをアセンブラとして使う。 is/2には死んでもらうw
107 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 10:22:46 ] >>106 経路問題だけで業務ソフト作るのは難しいよw
108 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 10:23:52 ] www.cyc.com/
109 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 10:28:06 ] リンクだけ張っても仕方ない。
110 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 14:21:04 ] SWI-PrologでIF/Prologのparse_atom/2のような事を行いたいのですが、 どのようにすれば良いかご存知の方いらっしゃいませんか。
111 名前:110 mailto:sage [2009/05/20(水) 14:29:57 ] 補足です。 やろうとしている(というか移植しようとしている)内容を簡単に書くと do_all:- (rule->
112 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 14:30:21 ] >>110 ?- atom_to_term('append([1],[2],L).',X,Y). X = append([1], [2], _G261) Y = ['L'=_G261]
113 名前:110 mailto:sage [2009/05/20(水) 14:35:42 ] 途中で送信してしまいました、すいません。 do_all:- data(D), ( rule(D)-> true; create_rule(D,R_str), parse_atom(R_str,R), assertz((R)) ), fail;true. あるデータセットを処理可能なルールが既にあれば良し、 なければ新しいルールを作って追加、 という内容です。 何卒よろしくお願いします。
114 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 14:44:17 ] >>113 create_rule/2 でなぜ直接Rを生成しないのか疑問ですが。
115 名前:110 mailto:sage [2009/05/20(水) 14:45:05 ] >>112 さま できました! ありがとうございます!
116 名前:110 mailto:sage [2009/05/20(水) 14:54:25 ] >>114 さま すいません、直接ルールを生成するというのはどのようなことなのでしょうか。 今のところは文字列処理でルール文を生成しています。 ほとんど独学なのでPrologの事は知っているようでよくわからなかったりします・・
117 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 15:36:16 ] data(筋肉は使い過ぎると傷害を起こす) だとします。 この文を解析して 筋肉,使い過ぎ,傷害を起こす という要素を得て、 ?- ... create_rule(_文,'筋肉(使い過ぎ,障害を起こす)'), ... 生成できたのだとすると, ?- ... create_rule(_文,筋肉(使い過ぎ,障害を起こす)), ... を直接生成できるのではないか。
118 名前:110 mailto:sage [2009/05/20(水) 17:51:16 ] >>117 さま string(atom)で返しているのは、assert以外に、ルール文をファイル保存等、 テキスト処理を行いたいため、そのようになっています。 ※ parse_atom/2には直接関係無いため、記述を省略しておりました。 わかりにくくて申し訳ありません。 ruleの直接生成については、ご指摘の通りだと思います。 ただ、create_ruleでは複雑な処理を行っているのので、 今回は無理をせずにatom_to_termで行きたいと思います。 ご指摘ありがとうございました。
119 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 18:02:30 ] >>118 そうでしょうね。項とともにテキストの生成を意識することは よい設計だと思います。あなたはご存知だと思いますが、 ruleの生成で私が書いた述語らしからぬ筋肉という関数の部分に 変数がくる、つまりその文によってここを変化させたい場合は、 functor/3,arg/3 または (=..)/2 を使います。メタ述語ですね。
120 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 18:43:14 ] >>106 反利速的な経営ってどういう意味?
121 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 19:45:17 ] >>120 利速的とは、売上、利益の伸び率などが今どういう傾向に 微分的に変化しつつあるかについて、もっとも注視すること。 反利速的ですから、計量的微分的な量りから遠ざかる、 そういうことに囚われない経営態度。
122 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 00:59:44 ] 初心者のプログラミング言語ガイドスレで見て来ました。 ーー文化と実践ーーっていう本が薦められていて探してみようと思います。 処理系はSWI-Prologで良いですか? というか、処理系によって言語仕様(でいいのかな)とかが違ったりするのでしょうか?
123 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 01:08:27 ] ttp://www.geocities.jp/m_hiroi/prolog/prolog01.html ここやってるんですけど、 ?- like(taro, coffee). YES ってなるはずが自分の場合は ?- like(taro, coffee). true. と表示されるんですけど何ででしょうか? SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.64)使用しています。 初心者質問申し訳ないです。
124 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 04:02:55 ] >>122 すみません。--文化とその実践-- でした。あちらのスレでも訂正をしておきました。 処理系はSWI-Prologで十分でしょう。Prologは残念ながら、処理系によっての差が かなりあります。しかし、1995年にISO規格が制定されて、少なくとも各処理系が この述語群は共通にサポートする方向ですから、できるだけこの規格に沿った述語を 選択して利用する方がよいでしょう。
125 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 04:11:05 ] >>123 ここの前スレで紹介があったのですが、 SWI-Prologは比較的最近のバージョンからYES ではなく true. と 表示されるようになりました。trueの後のピリオドにも注目です。 これで、実行ログが完全に項としてreadできるようになりました。 一時的な思いつきなのか永久にこの仕様になったのか分からない のですが、多くのPrologプログラマは好意的に受け止めています。
126 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 11:54:03 ] この言語将来性なさそう・・・大丈夫か?
127 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 12:06:15 ] >>126 どういう理由で?
128 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 12:14:26 ] >>126 ほとんどのプログラム言語が死に絶えた時に最期まで生き残っているのが論理型言語なのさ。Prologであるとは言わないけど。
129 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 12:28:22 ] >>128 平行論理型。それが機械語。
130 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 12:32:58 ] 機械語なんていわれるとピンとこないなぁ。
131 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:21:54 ] James L. Hein;Prolog Experiments in Discrete Mathematics,Logic, and Computability が公開されてるのをみつけた。
132 名前:デフォルトの名無しさん [2009/05/21(木) 16:11:33 ] >>129 何を言いたいのかよくわからないけどせめて「並行」と書いてくれ。
133 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 16:21:10 ] 第五世代ではKL1が機械語という位置づけだったんだっけ?
134 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 17:29:47 ] このスレってさ、まったりとか描いてる割には内容が高度すぎて読む気に慣れねーわ。 つーか、読んでも意味ワカンネーし。 やる気無くなるし。
135 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 17:37:06 ] 狙いとしてはどうかしらないけど、プロトタイプシステムとやらではちゃんとコンパイルしてるみたいよ www.icot.or.jp/AITEC/Publications/TRTM/2/tm0875/003.html PrologのWAMにあたるKL1-Bといったものもあるらしい
136 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 17:40:21 ] >>134 すまん、漏れが親しみやすいトリビア集めをさぼっているばかりに…
137 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 17:48:51 ] 「WAMにあたる」じゃないな WAMコード、WAMの機械語にあたる、か
138 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 18:11:16 ] 平行論理世界へようこそ
139 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 18:12:05 ] つーことは>>129 の「それが機械語」は言い過ぎかな WAMの命令セットが論理型言語と言えるならKL1-Bも並行論理型言語で それが(仮想機械の)機械語と言えるかもしれんが
140 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 19:47:50 ] 将来ロボットが出現するだろうから、それらをプログラムする言語はPrologになるってことか。 それなら納得した。
141 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:52:38 ] >>140 20世紀は石油。 21世紀はロボットの世紀だからね。
142 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:55:43 ] 当面、情報家電のUIはPrologインタプリタでなくちゃいけないのだが・・・
143 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:01:04 ] >>142 JAVAでもしょうがないとは思うがPrologの項をparse_atomできる 関数をライブラリに持っていて欲しい。
144 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:52:21 ] >>134 だから第五世代計画は失敗した、という面もある。