集合論に基づいた言語を作りたい

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2014/08/10(日) 21:27:16.56ID:x7G32Sd0
計算機科学の基礎は集合論であるという。
ならば、集合論に基づいた言語を作れば美しい言語になるのでは?
そんな発想から徹底的に集合論的思想で言語仕様を考えるスレです。
372デフォルトの名無しさん
垢版 |
2014/09/28(日) 20:41:53.96ID:T/KmqFBE
>>1
>>360についてはどうなのよ?
373
垢版 |
2014/09/28(日) 21:20:59.19ID:ngbZk+Gk
>>371
すまん。あんまりちゃんと読んでない。
wikiだけじゃよくわからんというのが素直な感想。
それに英語は大の苦手。
374
垢版 |
2014/09/28(日) 21:21:51.62ID:ngbZk+Gk
安価ミス
>>372
2014/09/28(日) 22:47:39.25ID:qFZf/al/
>>373
http://homepages.cs.ncl.ac.uk/cliff.jones/publications/Jones1990.pdf
http://www.cs.ncl.ac.uk/publications/books/papers/100.pdf
http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf
http://staff.itee.uq.edu.au/ianh/Papers/SCS2.pdf

英語が苦手なのに
>しかたないのでこのスレは>>4とかの言語を勉強するスレにするか。
と書いたのか。
376
垢版 |
2014/09/28(日) 23:24:45.68ID:ngbZk+Gk
>>375
英語苦手なのでこれを読むのは結構時間かかると思う。
まあ、ぼちぼち頑張る。
2014/09/28(日) 23:48:18.69ID:qFZf/al/
>>376
http://homepages.uel.ac.uk/A.Kans/MSc%20week3.pdf
http://www.cs.nott.ac.uk/~rxq/files/4FSPnotation.pdf
http://formal.iti.kit.edu/~beckert/teaching/Spezifikation-SS04/11Z.pdf
378
垢版 |
2014/09/29(月) 00:04:52.39ID:O3Lh9EkL
>>377
こっちのほうが入門っぽいの?
まあ、あんまプレッシャーかけんなや。
2014/09/29(月) 01:12:43.07ID:1qhCFqkI
>>360についてどう思うかたずねられる →「wiki(pedia)だけじゃよく分からん」
詳しく書かれている文書を提示される →「読むのに時間がかかる」
もっと短い文書を提示される →「プレッシャーかけるな」
380デフォルトの名無しさん
垢版 |
2014/09/29(月) 13:28:38.13ID:AXPWss48
>>1
センスは悪くないが、致命的に勉強が足りんな
381
垢版 |
2014/09/29(月) 18:35:35.54ID:O3Lh9EkL
>>379
このスレで提示されたもの、俺が全部勉強しなきゃいかんのかと思うとちょっと怖いんだが。
>>380
勉強不足なのは認める。
382デフォルトの名無しさん
垢版 |
2014/09/29(月) 20:16:07.80ID:onaWAXdx
どっちに進んだらいいのか分からないんだから、提供された情報を手がかりにして、
wikiだけじゃ分からんとか言わずに自分で情報をさがして勉強するしかないだろ。

情報を提供してもらうためにスレを立てたんだろ。
383
垢版 |
2014/09/29(月) 20:43:37.99ID:O3Lh9EkL
>>382
スレたてた時は軽い気持ちだった。
なんかこんなガチな感じのスレになるとは思ってなかったと言わざるを得ない。
384
垢版 |
2014/09/29(月) 20:52:49.67ID:O3Lh9EkL
>>377
ちょっとだけ読んでみただけだから誤解があるかもしれないけど、
これは仕様をガチガチに固めるためのもの?
こんなこと言うと批判がありそうだけど俺としてはbashやRubyみたいに緩い感じでコーディングして
仕様変更があってもちょちょっとハッキングすれば何となく動いちゃうみたいのが好みなんだけど。
2014/09/29(月) 22:24:17.39ID:MPdknRrK
>>383
>>365の言うとおりだけど、不勉強だから、
「発想から徹底的に集合論的思想で言語仕様を考える」って大風呂敷を広げてしまったわけだ。
386
垢版 |
2014/09/29(月) 22:46:32.46ID:O3Lh9EkL
>>385
まあ、ぶっちゃけ俺には>>365を超えるような大したアイディアがあったわけじゃないな。
みんなで雑談してるうちに面白い話が聞けたらいいなぐらいの気持ちだった。
2014/09/29(月) 22:53:43.66ID:6QlMlDt4
Python の set とかってイメージしてる "集合" とはどういう関係にあるのかな
2014/09/29(月) 23:54:29.23ID:4aZKHf7r
Zは仕様記述言語だよ。
Notationと言われているように、日本語だと記法と言ってもいいかもしれない。
2014/09/30(火) 00:05:52.09ID:lw4FII9v
>>386
大風呂敷を広げている自覚があるならたためばいいのに。
>>365には「そのとおりだ。不勉強だから『発想から徹底的に集合論的思想』などと大風呂敷を広げてしまっていた」と言い、
>>360には「情報ありがとう。でも考えているのは>>365のようなものだからVDM等とは方向が違う」とでも言えばよかったのに、
「言語の設計が根本から変わるようなもの」とか言い出すし。
2014/09/30(火) 00:27:57.32ID:QoKiTOmo
過去の発言をあげつらうとか無粋なことを‥
そのときどきで感想がぽつぽつ上がってそこから何かが生まれればよし、そうでなくてもいいので、こうしてお付き合いしているわけだし‥
391デフォルトの名無しさん
垢版 |
2014/09/30(火) 00:47:37.34ID:63XDoi4/
1の興味がどっちに向いてるのかはっきりさせとかないと、誰かが>>360のように情報を出してくれても、
1は興味を持てず理解もできず、情報を出してくれた人を無視することになるわな。
2014/09/30(火) 04:58:34.96ID:AOM1YMTX
一次元で言ったら
(1-5) | ( 2-6) | (3-9) | (9-10) = (1-6, 3-10) こういうの返すとか
2次元だと、GDIなんかでもよくあるリージョン計算とか
三次元にも応用してとか
言語にこだわらず、集合表記決めて興味持った人が各言語で実装するのがいい
2014/09/30(火) 07:28:17.49ID:JjKI4EMd
ひらがな電卓Calc-Hだと、
「ろくのやくすうはなんですか」とか
「じゅうにいかのそすうは」とか
「よんのばいすうはにでわりきれるか」とか
「いちいじょうのろくのばいすうは、ごよりおおきいさんのばいすうか」
といった質問に答えられるんだけど。参考までに
394デフォルトの名無しさん
垢版 |
2014/09/30(火) 12:59:47.25ID:X/itkzZm
>>381
勿論勉強なんか最低限でよい。
ただ集合言語を論じるなら、「Z」と「集合論プログラミング」(ググれ)
のさわりだけはおさえとけ(それだけでいいよ)
2014/09/30(火) 15:20:16.06ID:3YX+fixm
さわりは音楽でいうサビかイントロか。
イントロと間違う人も多いだろう。
2014/09/30(火) 16:07:43.18ID:tX5UXYDw
そりゃサビだろ
最低限なんだから大事なところ押さえないと
397
垢版 |
2014/09/30(火) 20:27:22.22ID:p23v2Yf3
>>389
まあ、大風呂敷を広げた方が話が盛り上がるかと思って。

>>391
正直すべてのレスをフォローするのはしんどいかも。
方向性はまだ固まってないです。

>>393
結構、ことばがわかりません。ていわれる。
いまのでも結構すごいがこれを実用までもっていったらかなりすごいと思う。

>>394
Zはオブジェクト指向でいうUMLみたいなもん?
集合論プログラミングはぐぐったけどCiNiiの論文がヒットした。
プレビュー読んでみたけどアルゴリズムを自動生成するの?
確かにすごいし理屈も通ってると思う。
これの処理系がすでにあるなら触ってみたいけど、
自分で実装しようとは思わないw。大変すぐるw。
398
垢版 |
2014/09/30(火) 21:50:21.63ID:p23v2Yf3
集合論プログラミングは確かに言語の設計が根本から変わってると思う。
こういう情報が得られるだけでもスレをたてた甲斐があるというもの。
2014/09/30(火) 22:19:13.15ID:ic/LPcqx
>>398
わざわざスレを立てなくても 集合論 プログラミング でググればすぐ見つかるんだけど。
「発想から徹底的に集合論的思想で言語仕様を考える」と言っておきながら
その程度の検索すらしてなかったんだな。
400
垢版 |
2014/09/30(火) 22:29:12.29ID:p23v2Yf3
>>399
まあな。
401デフォルトの名無しさん
垢版 |
2014/09/30(火) 23:59:40.07ID:izhA5Hzv
>>397
アルゴリズムの自動生成をするわけではなく、論理式を使って書かれた
仕様を元にして人間がプログラムを作っていくもので、VDMやZと同じ
方向なんだけど、感想がずいぶん違うな。>>384 >>398
402
垢版 |
2014/10/01(水) 06:02:07.09ID:0+f79Okt
>>401
VDM  書いたものが実装にならない
集合論プログラミング  書いたものが実装になる

と思い込んでたからな。
どっちも書いたものが実装にならないならあんまり俺の趣味じゃないなぁ。
集合論プログラムは書いたものが実装になってもよさそうなほど
論理を詰めていたように見えたが気のせいだったか。
2014/10/01(水) 09:03:58.23ID:Srlu7drV
>>402
VDMは実行可能だ
404デフォルトの名無しさん
垢版 |
2014/10/01(水) 11:04:19.89ID:PsfjCcq+
>>398
やっぱりアンタはセンスが良い。というかこれから何かできる人だ。
集合論プログラミングはZなんかに比べるとマイナーだが、Zより実質がある。
実装もできる。アンタが土台にするべき言語はこれじゃないかな?
検索してないとかなんとかというノイズは無視していいよ。
405デフォルトの名無しさん
垢版 |
2014/10/01(水) 14:56:19.11ID:BreyGGJ4
>>402
論理式を使って、プログラムに自動的に変換できそうなほど詳細な仕様を書くのは、
>緩い感じでコーディングして仕様変更があってもちょちょっとハッキングすれば
>何となく動いちゃうみたいの
とはかなり違うわな。
4061
垢版 |
2014/10/01(水) 19:43:26.77ID:0+f79Okt
>>403
どうゆう意味で実行可能なの?
他のプログラムの外付けアサート的な動作しかできないのかと思いこんでいたが。
VDM単体で動くの?

>>404
俺をおだてても木には登れんぞ。
集合論プログラムのコンパイラを作るなんて俺の実力じゃとても出来そうもない。
ユーザーとしてなら使ってみたいが。

>>405
仕様を詳細にするのはやり方がまずいと柔軟性のないプログラムになると思う。
抽象度の高いプログラムで仕様を満たせるならそっちの方がいいと思う。
2014/10/01(水) 19:49:09.29ID:OzkCABBw
>>406
インタプリタで実行できる
408
垢版 |
2014/10/01(水) 20:28:28.86ID:0+f79Okt
>>407
まじで。英語だからちゃんと読んでないけど>>360のwikiにsqrtの例で

SQRT(x:nat)r:real
post r*r = x

とかいうのがあったからこりゃ単体じゃ実行できないなと思ったんだけど。
早計だったか。
2014/10/01(水) 20:39:41.94ID:OzkCABBw
>>408
VDMには実行できるexplicit specと実行できないimplicit specがある。
その例は実行できないimplicit specのほう。
このリンク先のはみな実行できるexplicit spec
http://www.vdmtools.jp/doc/tips/vdmIdiom.html
410
垢版 |
2014/10/01(水) 21:57:06.59ID:0+f79Okt
>>409
なんか、サンプルプログラムよんでもイメージが湧きづらい。。。
文字列操作の前後のスペースをトリミングとか何やってるのかよく分からん。

[ p | p in set inds org & org(p) <> ' ']がorgの空白でない文字のインデックスの集合で
パターンマッチでその集合の先頭と末尾を取り出してる。
sがorgの空白じゃない最初の文字のインデックスでeがorgの空白じゃない最後の文字のインデックス
でorg(s,...,e)で頭とおしりの空白を取り除いた文字列を返してるってこと?
411
垢版 |
2014/10/01(水) 22:21:29.56ID:0+f79Okt
[]は集合じゃなくて列か。
412デフォルトの名無しさん
垢版 |
2014/10/01(水) 23:50:12.62ID:PsfjCcq+
>>409
クソVDMなんか持ってくるんじゃねえよ。
お前はセンス悪い。
4131
垢版 |
2014/10/02(木) 12:38:59.14ID:CtSzUDAx
あれ?乗っ取られてる?立てただけでちょっと居なくなったすきに…
414
垢版 |
2014/10/02(木) 18:33:20.87ID:McIgqFFk
>>413は偽物。
といっても俺も本物だと証明できるものはなにも持ってないな。
まあ、何が本当かは皆さんの判断に任せるとしましょう。
2014/10/02(木) 19:01:12.47ID:J690LAeG
ここって>>1となれ合うスレ化してるから、馴れ合ってる1こそが1
2014/10/02(木) 19:52:03.79ID:sULo4gIN
>>414
トリップっていうのをつけたら?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1241152992
417
垢版 |
2014/10/02(木) 20:07:14.68ID:McIgqFFk
>>416
今からトリップつけても過去のスレに対してはなんの証明にもならんけどな。
今からでもみんなが付けろっていうなら付けるが。
2014/10/02(木) 20:38:47.31ID:sULo4gIN
>今からトリップつけても過去のスレに対してはなんの証明にもならん
それは>>415のように考えるしかない。
419
垢版 |
2014/10/02(木) 20:45:42.53ID:McIgqFFk
>>418
まじでw
420
垢版 |
2014/10/03(金) 20:31:44.20ID:dWJ2kSUt
Rubyだとトリミングはstr.stripで一発だな。
ライブラリつかわんでもstr.gsub(/^ +/,"").gsub(/ +$/,"")でワンライナーか。
この比較がフェアかどうかは微妙だが、Rubyと比べてVDMは読むのしんどいな。
慣れてないだけかもしれんが。
2014/10/03(金) 22:20:11.35ID:wImYRAo7
>>420
的外れな比較だな。
422
垢版 |
2014/10/03(金) 22:25:06.66ID:dWJ2kSUt
>>421
やっぱそうか。そんな気はした。
でもこういったこまごまとした道具がきっちりそろってるのもRubyの魅力なんだよな。
2014/10/04(土) 04:41:52.82ID:TsYLxX57
で、文字列をトリミングするのが君のいう集合論ベースの言語なのかい?
424
垢版 |
2014/10/04(土) 09:55:23.27ID:jzKUq2O9
>>423
トリミングについてはちょっとふれただけだろ。
そんなに粘着した覚えはないぞ。
2014/10/04(土) 12:53:49.48ID:TsYLxX57
言ってることがブレブレなんだよ。
集合論から徹底的にと言ってみたり有限集合だけと言ってみたり
言語仕様だと言ってみたり便利なライブラリだと言ってみたり
美しい言語だと言ってみたり処理速度がどうのと言ってみたり
で、今度は文字列操作ユーティリティライブラリの充実度か。

結局何がしたいんだ?
2014/10/04(土) 13:00:56.11ID:by55sH8H
有限集合のみだと素朴集合論以下だしな。
2014/10/04(土) 13:34:13.41ID:s6wyGDsN
>>425
そんなに結論を急ぐのはなんでなの?
2014/10/04(土) 14:11:28.47ID:TsYLxX57
結論どうこう以前に
こうまで毎回後だしジャンケンばかりでは
永遠にグダグダだろ
2014/10/04(土) 16:04:23.04ID:+NqOnrEc
個人のチラ裏にそんな文句つけてやるなよ
2014/10/04(土) 16:08:30.01ID:aLeuItWT
ID:TsYLxX57の書き込みに文句をつけるのもなしの方向で
431
垢版 |
2014/10/04(土) 16:10:38.32ID:jzKUq2O9
>>425
何がしたいかといわれると、建前では教科書の章末問題のようなものを
サクサクインプリメントできる言語をつくりたいだが、本音を言えば>>386だな。

まあ、集合論に基づいた言語自体、まだ形がほとんど何もできてない状態だから
議論がぶれるのはある程度しかたないな。

>>428
後出しジャンケンといわれても困るんだが。
2014/10/04(土) 16:17:38.75ID:aLeuItWT
何の教科書だよ。
集合論に基づいた言語と言うから集合論の教科書かと思ってたら
集合論の教科書は想定してなかったとか言い出すし。
433
垢版 |
2014/10/04(土) 16:23:04.72ID:jzKUq2O9
>>432
まあ、主に離散数学だな。
2014/10/04(土) 18:36:28.77ID:TedbKwqo
zfcに基づいたプログラミング言語は理論上作成可能?
2014/10/04(土) 19:35:13.51ID:WpG7hkwu
論理言語なんてPrologでええやん
2014/10/04(土) 19:46:48.95ID:TsYLxX57
基づくというだけなら既存のスクリプト言語のsetクラスでも、基づいているとは言えるんじゃね?
ZFCで表現可能な全ての集合を扱える、という条件なら、無理だろ。
437デフォルトの名無しさん
垢版 |
2014/10/05(日) 18:24:35.09ID:jh4sXRSC
>>434
そりゃ可能だよ。既にだれか作ってたような
2014/10/06(月) 01:43:06.63ID:NlMQaHfx
選択公理は無理だろ。
無限公理もキツイと思う。
2014/10/06(月) 12:01:11.94ID:DaOiROEZ
選択公理って、よーするに、どんな集合からでも「その要素を一つ選んで取り出す」ことができる、
とする公理でしょ。コンピュータでそれを原理として使えない理由ってある?

(本物の実数の濃度を持った集合を表現できない、とか?)
2014/10/06(月) 12:36:12.97ID:Fl7PIp2q
「無限集合の無限集合」をどう扱うよ?
2014/10/06(月) 12:55:54.86ID:DaOiROEZ
(ポインタで表される)一つの要素であることに変わりは無いと思うけど
2014/10/06(月) 13:25:58.86ID:Fl7PIp2q
…解らないなら解らないと正直に言えばいいのに…
2014/10/06(月) 15:33:29.23ID:DaOiROEZ
説明できないなら(以下略
2014/10/06(月) 15:44:15.26ID:Chlrt5UY
選択公理は選択する方法があるとは主張するけど、選択する方法を具体的に出す訳じゃないから無問題
2014/10/06(月) 22:35:03.81ID:NlMQaHfx
>439
可能無限なら扱える。実無限は無理。

>441
自然数で番号付けできているから、実数は扱えない。

>444
実数は選択できないよ。
2014/10/06(月) 22:39:52.81ID:DaOiROEZ
哲学屋が語る論理の本で勉強したなw
447
垢版 |
2014/10/06(月) 23:54:52.31ID:FKIcXs6f
なんか計算不能な問題に取り組ませたい奴がいるっぽいな。
>>48と同じ奴か?
2014/10/07(火) 00:54:44.71ID:EYnjWx9Z
スレタイに釣られるとそうなるよ
2014/10/07(火) 05:00:08.90ID:p/BL+CDX
DaOiROEZの半可通っぷりが最高w
450デフォルトの名無しさん
垢版 |
2014/10/07(火) 10:56:48.49ID:+SCn7tHo
ZFの範疇でさえ消化できてないのに、実無限なんて飛躍しすぎ。
451デフォルトの名無しさん
垢版 |
2014/10/07(火) 11:06:53.72ID:SMQvkaFY
どうせなら、量子コンピューターで使う言語にまでにして欲しいな。
452
垢版 |
2014/10/07(火) 21:14:56.86ID:QnZoLRl/
量子コンピュータってまだ有効なアルゴリズムが2つ3つしか発見されてないんじゃなかったけ。
453デフォルトの名無しさん
垢版 |
2014/10/07(火) 21:30:05.48ID:waP9/Nh6
量子状態を集合的に扱うと便利。
2014/10/07(火) 21:41:15.48ID:9NXt3xp/
>450
少ない公理だけでやるんだったらProlog (HornCNF) で十分だと思う。
というかPrologがろくに検討されていないのはなぜ?
455
垢版 |
2014/10/07(火) 22:20:49.79ID:QnZoLRl/
Prologもやってみる価値あり?
2014/10/08(水) 04:21:45.13ID:prFbm0Ro
公理論ベースのプログラミング言語というのにPrologを検討してないとか意味わからなすぎ
457デフォルトの名無しさん
垢版 |
2014/10/08(水) 11:09:43.78ID:OludtdBn
単なる述語論理じゃないか。
2014/10/08(水) 12:20:34.72ID:dWGNDTcI
>>1ってそもそも集合論、公理的集合論を系統的に学んだこと無いだろ?
2014/10/08(水) 12:47:37.54ID:h0nYZNts
既存の言語に有限集合演算を追加するところから始めれ。
クソスレが一個増えただけで終わる前に。
2014/10/08(水) 18:43:36.24ID:UKHmkXIf
ここは元々>>1の勉強スレ
4611
垢版 |
2014/10/08(水) 18:47:59.90ID:hP0aEtf7
>>458
ばれたか。ZFCとか名前くらいは聞いたことあるけど
どうやって論理を展開していくのとか知らない。

>>459
出来ればもうちょっと面白いアイディアが欲しい。
クソスレも板の賑わいってことで。
2014/10/08(水) 20:19:42.08ID:rTFjlrrq
1が今まで読んできた教科書教えて
463
垢版 |
2014/10/08(水) 20:46:16.58ID:hP0aEtf7
あんまりいうと個人情報とか洩れるかもしれんので一つだけ。
もう捨てちまって手元にないがこれかな。
http://www.amazon.co.jp/dp/4274130053
2014/10/08(水) 22:26:27.29ID:rTFjlrrq
じゃあ個人情報が漏れない程度の大雑把さで何を学んできたか教えて
465
垢版 |
2014/10/08(水) 22:32:55.73ID:hP0aEtf7
そんな漠然としたこと聞かれても。
まあ、情報系の学部出身だよ。
2014/10/08(水) 23:00:13.01ID:TzLBQJ9w
人生……かな
2014/10/08(水) 23:04:08.42ID:rTFjlrrq
>>59を見てどの程度の知識があるのか気になったのよ
数学科ではないのね
468
垢版 |
2014/10/08(水) 23:24:26.28ID:hP0aEtf7
数学科ではないな。
まあ、俺は数学ガチ勢ではないってことで。
2014/10/08(水) 23:51:56.29ID:TxL/GihU
>>465
それにしてはレベルが低いな。
2014/10/09(木) 14:59:21.86ID:+VtBJxY5
>スクリプト言語でありながら、速度も求めた Julia という言語。
> Julia は科学技術計算向けだが、汎用的な用途にも使える。
http://julialang.org/

集合論とはちょっと違うが、こういう言語を作るのって、プログラミングとはまた別の頭の良さが必要なんだろうなあ・・・
471デフォルトの名無しさん
垢版 |
2014/10/09(木) 18:53:47.65ID:0qGZB94E
>>463
こんなの学部一、二年だろ?
http://www.amazon.co.jp/Constraint-Logic-Programming-Selected-Research/dp/0262023539
こういうの読みなよ。
2014/10/09(木) 19:18:35.22ID:tOThY/oR
constraint logic programming‥

メジャーなもののなかで一番近い言語はなんですか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況