トップページ⇒tech
983コメント289KB

Prolog でまったり

■ このスレッドは過去ログ倉庫に格納されています
0001人工無能NGNG
Cなどの言語とは全く得意分野も構造もちがうProlog。
そんなPrologについてまったり話しましょう
0446デフォルトの名無しさんNGNG
>>445
知ってますが何か?
0447デフォルトの名無しさんNGNG
442=443=445=アフォ
0448デフォルトの名無しさんNGNG
447=引き篭もり=アフォ=キモイ
0449デフォルトの名無しさんNGNG
うるせーイチジ!
0450デフォルトの名無しさんNGNG
prologインタプリター作ったんだけど、
お前らに見せる価値はありますか?
0451デフォルトの名無しさんNGNG
>>449
ワショーイ!!
0452デフォルトの名無しさんNGNG
>>450
そんなこと言われても(´・ω・`)ショボーン
見てみないと価値なんかわからないっす。
0453デフォルトの名無しさんNGNG
>>452
インタプリターの価値じゃなくて、
評価してもらう価値あるかって事では?

まあ、俺はたぶん読めるだろうけど
過去ログからもわかるように
バックトラックの実装すらよくわかってない奴が
ほとんどだと思うから
ここで公開しても、へたれコメントしか出てこないと思われ。

そもそも自分でインタプリター作れる奴はそれ程多くないし、
2chにはたぶんいない。
0454デフォルトの名無しさんNGNG
>>452
7行スレからパクッたのか?
0455デフォルトの名無しさんNGNG
へ?
0456デフォルトの名無しさんNGNG
450みせてくれ。見たい。
0457デフォルトの名無しさんNGNG
>>453
>そもそも自分でインタプリター作れる奴はそれ程多くないし、
>2chにはたぶんいない。

チミのレベルで他人を判断しないように。
研究者仲間でも、2ch読んでる人は多いよ最近。
0458デフォルトの名無しさんNGNG
457の研究者仲間ってレベル低いんでしょ?
むしろ、どういうレベルなの?
0459デフォルトの名無しさんNGNG
晒しあげ
0460デフォルトの名無しさんNGNG
a
0461デフォルトの名無しさんNGNG
>>458
んー、チューリング賞はとれそうに無いが、
日本の学会の論文賞なら皆とっている。
0462デフォルトの名無しさんNGNG
>>461
分野によりけりだろ。
まあ、ためしにprologインタプリターでも作ってみろって
どうせ作れないだろうけど。
0463デフォルトの名無しさんNGNG
>>462
それはあまりに簡単すぎる。
0464デフォルトの名無しさんNGNG
>>450
見せたいなら
もったいぶらずに
早く見せろやゴルァ!
0465デフォルトの名無しさんNGNG
突然ですが、情報系院生だけど趣味でLISPインタプリタ作ったよ。

以外といろんな人が見てますよ。さすがにプロフェッサーはないだろうけども。
0466デフォルトの名無しさんNGNG
証拠プリーズ
ネタかな?
0467デフォルトの名無しさんNGNG
>>463
もっと難しい課題の提案よろしく
自称レベル高いだから、さぞかしすごい事ができそうだ。
prologインタプリターを自動生成するprologのプログラムとか
0468デフォルトの名無しさんNGNG
LISPぐらいなら素人でも作れるよ。
schemeはちょっとセンスがいる。
両方ともインタプリタのままだと無茶苦茶遅いけど。
0469デフォルトの名無しさんNGNG
lispが一番簡単だな。
末尾再帰の最適化ってどうやるの?
パターン判定するの?
0470デフォルトの名無しさんNGNG
PrologインタプリタだってLispインタプリタと同じくらい簡単だろ。
>>378 にあるとおり。
0471デフォルトの名無しさんNGNG
>>469
Schemeで書けば、自動的に末尾再帰は最適化される。
0472デフォルトの名無しさんNGNG
メタインタプリタとインタプリタの区別がつかないバカがいるスレですか?
0473デフォルトの名無しさんNGNG
>>472
それを言うならメタサーキュラーインタプリタだろ。ハズカシ…
でも、どっちもインタプリタだよ。同じ事。
0474デフォルトの名無しさんNGNG
まあ、実際Common Lispのインタプリタは
たいていCommon Lispで書いてあるしな。
0475デフォルトの名無しさんNGNG
>>474
PrologのインタプリタもフツーPrologで書くよ。

インタプリタの速度なんて誰も気にしないし、
コンパイルすればじゅうぶん速い。
0476デフォルトの名無しさんNGNG
有名度
メタインタプリタ>>メタサーキュラーインタプリタ
同じ意味だろ。

じゃあ、perlもrubyもevalで終わりか。
作れない言い訳にしては普通すぎるというか。
0477デフォルトの名無しさんNGNG
>>476
ほんとに無知だな。
eval自身をその言語で書くのがメタインタプリタ。
0478デフォルトの名無しさんNGNG
ML作れる兵はいないのか?
0479デフォルトの名無しさんNGNG
素人質問で申し訳ないのですが
lispでlispインタプリターを作る意味は何ですか?
0480デフォルトの名無しさんNGNG
>>479
それが一番楽で実際的だから。
0481デフォルトの名無しさんNGNG
>eval自身をその言語で書くのがメタインタプリタ。
ソースキボーン
0482デフォルトの名無しさんNGNG
さっきLISPを作ったと書いたものです、院生。
作成言語はC++ with STLです。C++の勉強のために作った代物。
実は作成したのはscheme likeなlispなのですが、同じといえば同じ。
ガベージコレクションがたいへんでした。

しかし、そんなに難しいものじゃない。効率考えなきゃ、だれでも作れるでしょう。
0483デフォルトの名無しさんNGNG
で、ウプしないの?
ネタ?
0484デフォルトの名無しさんNGNG
>483
おまえ、ソースきぼんとかうぷしろとか
さっきからしつこいけど、アホだろ?
0485482NGNG
>>483
私に言っています?
すでにあげてるのですが、研究室のサーバに挙げてるので
おしえたくねー。疑われそうではあるけど、仕方ない。

どこにあげればいい?鯖いってくれりゃ、あげまっせ。
ちなみにmainとatom以外はtemplateで書いてるから、読みにくいよー。
0486デフォルトの名無しさんNGNG
インタプリタを作るのか
メタインタプリタを作るのか
はっきりしやがれ
0487デフォルトの名無しさんNGNG
メタインタプリタとメタサーキュラーインタプリタは違うよ。

「SchemeでSchemeインタプリタを書く」のはメタサーキュラーインタプリタ。
メタインタプリタは、メタレベルのインタプリタ。
インタプリトされているプログラム(オブジェクトレベル)と
インタプリタ自身(メタレベル)は、意味的に『別』の言語、『別』のデータ
で表される。
0488デフォルトの名無しさんNGNG
Lispインタプリタはすれ違いのような。
0489デフォルトの名無しさんNGNG
>>387
SchemeでSchemeコンパイラを書くのは何なんですか?
0490デフォルトの名無しさんNGNG
C++の練習でlisp作るなんて・・・
すげー
0491デフォルトの名無しさんNGNG
>>490
ネタだと思われ。
0492デフォルトの名無しさんNGNG
>>489
何だろうね。別にメタとは言わないね。

理論屋がその言語自身のコンパイラで何かするとしたら、
「操作的意味論」と呼ぶかもな。
0493デフォルトの名無しさんNGNG
http://www2.ezbbs.net/25/sendai/
ウプロダ
0494デフォルトの名無しさんNGNG
>>490
Lispのプログラマを書いたことのある人間なら
別に意外でもないと思う。

たぶん、「型判定にvirtualメソッドを使う」とか
やってるんじゃないかな。

C++に慣れたプログラマだと「スマートポインタでGC」
とかやりたくなるかもしれないけど、それは止めたほうが無難。
0495490NGNG
ネタかな・・・
>ちなみにmainとatom以外はtemplateで書いてるから、読みにくいよー。
この辺がネタ臭さを出してるけど、
でも、templateで書いてるなら普通にすごいかも。
0496490NGNG
メタサーキュラーってどういうスペリングですか?
0497490NGNG
いつの間にかウプロダが貼られてる。
期待してます。
是非、見せてください。
0498デフォルトの名無しさんNGNG
metacircularでは
0499482NGNG
>>491
まじっす。まじっす。ほんとっす。

でも、defun,cons,cond,eq,car,cdr,print,terpri,...
程度の基本の基本しか実装してないです。凄いの想像したならごめんです。
入出力込みで2000行程度の代物。

もう少しすてきな感じになったら、世の知れたところに出しますので
そのときはよろしく(作ってて楽しくなった)。

キーワードは いろんなデータ構造をatomとして使えるLISP です(ありきたり)
LISP on design patterned でよろしゅうに。名前は未定さん。
0500デフォルトの名無しさんNGNG
サーキュラーがつくかつかないかの違いは
まったく同じか、ちょっと違うかの違いだろ。
0501デフォルトの名無しさんNGNG
メタサーキュラーはリフレクションと関係ないだろ。

メタインタプリタはリフレクション用語。
0502482NGNG
>>494
ごめんなさい、GCにスマートポインタをまさに使ってます。
遅い遅い。

すこしだけ、アップロードとやらをしてみます。
全部はダメぴょん。
0503デフォルトの名無しさんNGNG
ウプまだ??
ネタ率95%
0504デフォルトの名無しさんNGNG
>>503
ウザイ
0505デフォルトの名無しさんNGNG
>>502
コンパイルして動く程度はウプしないと
途中で挫折したくせに強がった厨房ケテーイ
となると思うけど

期待してるよ。
0506デフォルトの名無しさんNGNG
>>504

>どこにあげればいい?鯖いってくれりゃ、あげまっせ。
って書いてるんだから、仕方ないのでは?
0507506NGNG
502読み損ねた、スマン
0508デフォルトの名無しさんNGNG
もうちょっとでこのスレ丸2年ですね。
0509デフォルトの名無しさんNGNG
逃げた・・・・
0510482NGNG
あぷろだとかよくわからんので、ここにすこしだけ公開。
こんなところに書くから、根幹は秘密の関係ないとこだけ。

名前空間省略!インクルード省略!!
class LispErr {
string perr;
public:
LispErr(const string &s) {perr =s;}
string err(void){return "error :" + perr;}
};
template<class C> class Function;
class LispBool{
Condition p_cond;
public:
Condition cond(void) const {return p_cond;}
string print(void) const ;

LispBool& operator=(const LispBool& l) {p_cond = l.cond();}
LispBool(){p_cond = UNDEF;}
LispBool(Condition c){p_cond = c;}
};

template<class C> class S_EXP : public LispBool{
bool p_isatom;
bool p_isS;
bool p_isList;
bool p_isSymbol;
int p_S_num;
C p_atom;
1レスで書けるのはこの程度?
0511デフォルトの名無しさんNGNG
結局、自称レベル高いとか言うカス研究者はどうなったんだろう(pw
0512デフォルトの名無しさんNGNG
おいおい、zipで圧縮もできない厨房かよw
0513490NGNG
名前
E-mail
題名
内容
URL
添付
ってなってるから
添付のところにウプしたいファイルを指定するだけだですよ。
0514デフォルトの名無しさんNGNG
インタプリタ書くのさえ難しいと思ってて
書いた人を神とあがめるアフォが集まるスレはここですか?
0515490NGNG
>>514
俺にはできないけどなぁ
Lispもあまりよくわかっていなかったりする。
0516デフォルトの名無しさんNGNG
>>514
おめーもできないだろ、カス
メタインタプリタ作ってインタプリタ作ったつもりになってるバカですか?
0517デフォルトの名無しさんNGNG
>>516
まだメタインタプリタとメタサーキュラーの区別がついてない厨房がいる(w
0518デフォルトの名無しさんNGNG
>>516
でも、遊びならともかく、PrologインタプリタはPrologで書くのが
実際的だし、SchemeインタプリタはSchemeで書くのが有利だろ。
あらゆる意味で。
0519482NGNG
>>505
ありゃ、こんなこと書かれてる。よけい火に油を注いだ形になりそうな予感。
しかし、もし挙げたら神になれるのかしら。迷うな。

正直なところ、あまり見せたくないんだわ。
こんなに重宝な感じでいわれると、もう少し、立派なところで公開したくなりました。もしかして、これって凄いのとかいう勝手な妄想。
コピー公開とかされたらムカつくので、ライセンスとってから公開します。
お騒がせごめんなさい。

0520デフォルトの名無しさんNGNG
>>510
インデントがないから激しく読みにくい(笑
0521デフォルトの名無しさんNGNG
>>519
見せなくて良いよ。
自分でインタプリタも書けないような厨房ども、どうせ見ても理解できない。

だいいちスレ違いだし(w
0522デフォルトの名無しさんNGNG
>コピー公開とかされたらムカつくので、ライセンスとってから公開します。
ライセンス取るってお前アホ?
ライセンスってのはソースの片隅に
著作権アリって書くって意味だろうが。

作れる能力は確かにすごいだろうけど
作った物自体はたいした事ないでしょ。
同じ機能なら俺も1日あればできるよ。

その部分的なコードを見るとすごくネタなきがするんだけど・・・

心配ならsourceforge使え
0523522NGNG
まあ、個人的にはテンプレートをどう使ったのか
くらいにしか興味ないから別にウプしなくてもいいけど。

この流れでやめたら釣り師だよな(笑)
0524デフォルトの名無しさんNGNG
>ライセンスってのはソースの片隅に
>著作権アリって書くって意味だろうが。

うわ、すげーアフォだ(藁
0525522NGNG
>>518
prologなんかはバックトラックなどを実装する事に意味があると思うけど。
ふと思った、あれを幅優先で実装するとどうなるんだ?
カットを除けば、結果はかわらないだろうけど
なんか意味があるのだろうか。

0526デフォルトの名無しさんNGNG
>>525
もちろん結果は同じ。
空間計算量が異なる。
0527522NGNG
>>524
あれ、違うの?
スマン、説明お願い。
0528482NGNG
>>522
GNUライセンスなら結局そんな感じになりますがね。
でもコードに色々著作埋め込んだり、形式を一応整えたりと手間はあるんです。

ちなみにtemplateはclassをatomとして扱えるようにしてます。
結局的にatomの演算をatom自身に持たせたというところ。
簡単には足し算はatomの概念によってかわるから、うんたらみたいに。
そこをtemplateとabstruct virtual classでよいこら(ここが味噌だからさ)とね。
微妙にboostのpreprocessをつかってね。

釣り師です。以上です。
0529デフォルトの名無しさんNGNG
abstractだろ(ヤレヤレ
0530490NGNG
なんか残念ですね。
気分的には
「だったら言うなよ・・・」
ってとこですが、
見せてもらう側なので文句は言えませんが。
0531デフォルトの名無しさんNGNG
著作権って「あり」って書かなくてもありに決まってるだろ。
0532デフォルトの名無しさんNGNG
なんか臆病な奴が多いようで
0533デフォルトの名無しさんNGNG
>>531
主張しなきゃねーよ
0534522NGNG
>そこをtemplateとabstruct virtual classでよいこら(ここが味噌だからさ)とね。
具体性が全然ないんだけど。
無駄にtemplate使ってるだけなきがしてきたよ。
0535デフォルトの名無しさんNGNG
>>533
おいおい。ヴェルヌ条約加盟以前のアメリカならともかく、
日本やヨーロッパや今のアメリカは無方式主義だよ。
主張は不要。著作権は手続き無しで自動的に生じる。
0536デフォルトの名無しさんNGNG
>>533 ネタだろ?
0537482NGNG
>>534
よくわかってらっしゃることで。もしかして、あなたも作ろうとしたのかな?

正味、インタプリタとして用いるならtemplateは使わない方が簡潔に書ける
と思われます。ただし書く効率は別として。

ただ、別のプログラムの内部処理に組み込むことを考えていますので、
そのためのtemplateの意味もあります。
0538デフォルトの名無しさんNGNG
>>533は未だにパブリックドメイソとか言っていると思われ。
0539デフォルトの名無しさんNGNG
>主張は不要。著作権は手続き無しで自動的に生じる
そんな事ないでしょ。
ソースコードは著作物だけど
権利を主張しない限りは、勝手にコピーされても
文句は言えない
0540デフォルトの名無しさんNGNG
>>539
おいおい…
Copyright (C) ....
が法律的に何の意味ももたないことを本当に知らないのか?

「無方式主義」でぐぐってみろや。
0541482NGNG
ネタでしたごめんなさい。
本当はインタープリターなんて作れないんです。
もう何も言わないでください。
0542482NGNG
>>541
せめてインタプリタとかいてほしかった。
ネタでしたごめんなさい。
0543482NGNG
英語のカタカナ化はどっちでもいいぽ
0544デフォルトの名無しさんNGNG
>>518
>でも、遊びならともかく、PrologインタプリタはPrologで書くのが
>実際的だし、SchemeインタプリタはSchemeで書くのが有利だろ。
>あらゆる意味で。

実際的って何?何が有利?
作り方のお勉強程度の意味しかないじゃん。
0545デフォルトの名無しさんNGNG
482は普通にウザイ
スレ違いもいいところ。
■ このスレッドは過去ログ倉庫に格納されています