2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Prologサーバー

1 :Prolog:04/12/10 16:02:13 ID:???
Prologサーバー網の構築に向けて、
・ Prologサーバーとはなにか
・ Prologサーバーの共通仕様、機能
・ プログラミング技術
・ セキュリティについて
論じましょう。


2 :DNS未登録さん:04/12/10 16:31:46 ID:???
------------このスレッドは終了しました--------------

3 :toto:04/12/12 16:23:51 ID:???
ソケットとstream通信の機構があればどんなPrologでもサーバーの
構築は簡単ですが、問題は、
サーバー側にどんな資源(述語)が定義済みであるかがわからない。
それを探るというのは現実的でない。やはり、XMLのDOMファイル
みたいなものを第一段して、送り込んでおかないとうまくいかないの
ではないか。そこら辺のプロトコルをどう設定するかですね。


4 :DNS未登録さん:04/12/13 07:08:55 ID:3i5XTSef
以下質問ではこれこれの述語を使います。あなたのサーバーに未定義のときは
どこそこからロードしなさいとURLでも渡す。
それより、まず共通ライブラリを決めて、お互いにPrologサーバーモジュールの
中に定義することとの方が先でしょう。


5 :DNS未登録さん:04/12/13 16:28:48 ID:3i5XTSef
Apacheの代わりにPrologでWebサーバー書いてるのだけど
そういうのはPrologサーバーって云わないの?

6 :Prolog:04/12/13 19:45:06 ID:???
httpプロトコルも当然ありえますね。すこし重いけど。
ブラウザもPrologで書いたらおもしろそう。


7 :DNS未登録さん:04/12/16 11:03:52 ID:???
Prologは大学でして以来一度も触れてない。なつかし〜
けど利点はあるの?

8 :Prolog:04/12/16 17:09:16 ID:???
LISPなどもそうですが、基本的にインタプリタの系です。
例外なくどの処理系もそうなっていて、?- 以下の質問に答える、
作りになっています。
既存のプログラムもその形式に沿うように短く作られていますから、
入力と出力をソケットにするだけで、PtoPでお互いに乗り入れられます。
あえて、Prologサーバーといい、自宅サーバーのカテゴリーの
中で話題にしようとするのはそんな性質があるからです。
もう一つ追加すると、オンメモリーのリレーショナルデータベースで
あるという点も、お互いが情報を開示しあうためには最もふさわしい
系であるという根拠になるように思われます。



9 :DNS未登録さん:04/12/16 17:38:45 ID:???
>>8
Prologなんてもう記憶のかなただが...

> オンメモリーのリレーショナルデータベース
これだけで十分ギャグだよ。運用できないじゃん。
Prolog使うと楽に解ける問題はあるだろうけど、それなら
web serverをI/Fにすればよい訳で。

どうしてもやりたいなら、Prologサーバでしかできない応用例を
一つでいいから出してみな。

#クラスタリングして並列Prologエンジンなんつー化け物なら
 作る意味もありそうだが、それは自宅サーバ板で話す話題じゃ
 ないだろ。


10 :Prolog:04/12/16 18:47:02 ID:???
> これだけで十分ギャグだよ。運用できないじゃん。
鋭いですね。実際、UNIX(LINUX)のサーバでfork()で処理すると
セッション終了とともにデータベースの書き換えが無効になってしまう。
このため、バックエンドにもう一つデータベース用のPrologを立ち上げる
ことになります。 >8 で書いたように単純にはいきませんね。
ネットワーク上でのデータの一貫性などできようはずがありません。

ただ、リレーショナルデータベースとRDBMSとは概念がずれます。
集合論に基づくデータモデルがリレーショナルデータベース、
Prologはそれを含んでいます。二項モデルや連想三つ組など
自分独自のデータモデルや環境を簡単に実現できることに
少々は意義がありましょう。
セキュリティ、信頼性とかを一切無視して、ネットワーク上で
お互いの資源にもぐりこんで使いあいましょう、という話には
Prologはぴったりですよということです。
アナーキーなネットワークのモデルを担えるかも、ということです。


11 :9:04/12/16 20:50:57 ID:???
>10
象牙の塔の中で言ってる分には別に構わないけど、それで何か
意味があるのかい?
一時期流行ったmobile agentも結局実用にならなかったじゃないか。
Prologインタプリタをcgiで動かす以上の意味があるとは到底思えない。

12 :Prolog:04/12/16 23:16:52 ID:???
>11 うーん、実用になるかどうかですか。
参加する人がいるか、いないかでしょ。

Prologに拘るのは構造のないフラットなモデルでやりたい、という
ことです。


13 :Prolog:04/12/17 11:48:37 ID:???
>9-11 実用(応用)ということになると、
Prologは記号処理言語なので、事務処理向きですね。
Adobe PhotoShopのようなソフトがPrologで書き直されることは
絶対無い。そういう意味で汎用言語とはいえないでしょう。
Prologサーバと観点からすると、スクリプト言語として、で十分
だと思います。複雑なことはいつでも書こうと思えば書ける。


14 :9:04/12/17 13:02:51 ID:???
>13
ということは、"Prolog Server"は不要って事だね。
単にサーバーにProlog Interpreterが載っていればOKなんだろ?

15 :Prolog:04/12/17 13:40:07 ID:???
>14 サーバの全てをPrologで書いてある必要はないです。
"Prolog Server"の定義がそういうものだとしたら、御免なさい、ですね。
そういう部分から議論したいと思ってこのスレを立ち上げたのですが、
私はPrologの項の形式で質問して、答えとしてPrologの項を返すことが
できれば、"Prolog Server"と考えていいと思っています。
ApacheのCGI経由でも一向に構いません。軽い重いはありますが。
項(=論理式)の形式で返せないとなるとPrologのありがたみが
でません。条件はそこです。
実は、C++やPerlで書かれていても、項の解釈ができて、
その形式で答えることができるなら、実装がどうであれ、
立派にPrologです。




16 :9:04/12/17 13:43:35 ID:???
>15
だからね、世の中や学術用語では、そういうのはPrologサーバとは
言わないの。

名称問題はこれでいいとして、Prologって何に向いてるの?専門用語
を使わずに説明してごらん。

17 :Prolog:04/12/17 18:25:17 ID:???
>16 私は15年以上事務計算プログラムをPrologで書き続けてきている
ので、事務処理には一番だと思っています。

構造がないとか云ったのとは矛盾するかもしれませんが、
木構造で管理できる部、課、係等の情報を扱うには向いています。
本来集約演算が苦手ですが、真っ先にそういう述語から書きますから、
特に不自由することはありません。
中小企業で管理者が直接プログラミングして、可能な限り仕様書を
書かない(せない)時、圧倒的なコストパフォーマンスを発揮します。
既知のやりたいことをただ「述べれ」ばよいだけですから。
大企業向きの言語ではないですね。

*********************************************************
SMTP,POP3,TELNET,HTTPに対応したサーバをPrologで書いて複数
ノードで分散して運用していますが、世界中にそういう環境を
期待するのは現実的でないですね。


18 :Prolog:04/12/18 07:13:56 ID:???
Prolog同士で、サーバ、クライアントを構成することは、
現在、ほとんどの処理系にDEMOとしてTCP/IP経由のものが
ついているので、Prologユーザはやってはみたことがあります。
しかし、外部に公開するとなると、モジュールに関する仕様、
データのロードに関する技術等、整備しておかなくてはならない
部分が多々あります。
クライアント独自のデータベースで実行されるのか、共用環境で
実行されるのか、定義域の宣言や切り替えが必要でしょう。
外部ノードの参照に関する述語自体標準はありません。
?- .... ,node101 :: testpredicate(A,B), ...
のような形式が候補に挙がるでしょうが、既にモジュール管理に
使用している処理系もありそうです。
一般にPrologクライアントから要求Pを出すときには全解探索を考慮して、
  findall(P,P,L),
のように包んで要求します。上の記法を使えば node1 :: findall(P,P,L),
サーバから解のリストLが返されますから
  member(X,L), でXに一つづつ解を取り出すことになります。

これが普通のやり方ですが、これを標準としてよいか。
こんなことを議論したり、確認したいということです。

自分の環境を自由に利用させることは、エロサイトを立ち上げることより
遥かに危険なことです。そんなことを相手にしてもらえるカテゴリーを
探したら、自宅サーバ以外になさそうだったのでこの板をここに
作ってみました。




19 :Prolog:04/12/18 09:33:06 ID:???
自己レス
>サーバから解のリストLが返されますから
失礼、サーバから返されるのも、findall(P,P,L)です。ただし、
変数LがリストLとして具体化されています。

20 :9:04/12/22 11:10:14 ID:???
>>17-19
なんだか言ってる事が思いっきり眉唾物なんだが、
本当にそんなことやってるなら、論文書けよ。研究会発表
でも構わんからさ。

9 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)