計算機科学の基礎は集合論であるという。
ならば、集合論に基づいた言語を作れば美しい言語になるのでは?
そんな発想から徹底的に集合論的思想で言語仕様を考えるスレです。
集合論に基づいた言語を作りたい
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2014/08/10(日) 21:27:16.56ID:x7G32Sd02デフォルトの名無しさん
2014/08/10(日) 21:29:01.90ID:x7G32Sd0 たとえばプリミティブなコレクションが配列じゃなくて集合だとか。
2014/08/10(日) 21:30:01.96ID:SNq+Bnd6
どういうことだってばよ?
2014/08/10(日) 21:37:09.49ID:TaP3LJdg
2014/08/10(日) 21:49:14.65ID:TaP3LJdg
6桃白白 ◆9Jro6YFwm650
2014/08/10(日) 21:53:00.69ID:ogxmV0hN SQLっていうのがすでにあるっすよ
71
2014/08/10(日) 22:07:52.74ID:x7G32Sd02014/08/10(日) 22:09:07.71ID:x7G32Sd0
あれ、IDおなじだな。
IDの仕組みがよくわかってない俺。
IDの仕組みがよくわかってない俺。
2014/08/10(日) 22:48:01.93ID:qwVXAwRT
いや作れよ
11片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:06:18.79ID:nEGv2YJS 多重集合についてはご存じかな? 重複した元の個数を数えるものだけど。
RubyやPHP,JSなどの最近のスクリプト言語はリストを扱うのが簡単になってきている。
一般にリストはそのまま多重集合や集合と見なすことができる。
元の重複をなくすには、重複した元の追加を禁止するか、sort&uniqueすればいい。
RubyやPHP,JSなどの最近のスクリプト言語はリストを扱うのが簡単になってきている。
一般にリストはそのまま多重集合や集合と見なすことができる。
元の重複をなくすには、重複した元の追加を禁止するか、sort&uniqueすればいい。
2014/08/10(日) 23:10:08.77ID:x7G32Sd0
とりあえずプリミティブ型は集合。
構造体や配列なんかも基本集合で表現するようにする。
構造体や配列なんかも基本集合で表現するようにする。
13片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:15:58.40ID:nEGv2YJS 無限集合はどうするか?
写像はどうするか?
写像はどうするか?
2014/08/10(日) 23:16:09.88ID:x7G32Sd0
2014/08/10(日) 23:17:58.23ID:x7G32Sd0
>>13
そのへんも集合論になるべく沿った方法で仕様を決められたら面白いかなと思ってる。
そのへんも集合論になるべく沿った方法で仕様を決められたら面白いかなと思ってる。
16片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:18:27.90ID:nEGv2YJS 集合の集合をどうするか?
2014/08/10(日) 23:23:58.14ID:x7G32Sd0
集合の集合はそんなにむずかしくないんじゃないか?
数学のとおりに扱えばいいだけだろう。
数学のとおりに扱えばいいだけだろう。
18片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:28:28.92ID:nEGv2YJS 無限集合を含むデータ構造を扱うなら、構造体の要素に対す
る区間演算と区間のパターンマッチはサポートしないといけない。
[0,∞)∪(-8,-4]とか
る区間演算と区間のパターンマッチはサポートしないといけない。
[0,∞)∪(-8,-4]とか
2014/08/10(日) 23:29:50.35ID:x7G32Sd0
型をどうするかがまず問題だな。
普通のクラス的なものを許してしまっていいものか。
普通のクラス的なものを許してしまっていいものか。
2014/08/10(日) 23:33:00.94ID:x7G32Sd0
2014/08/10(日) 23:38:37.89ID:x7G32Sd0
所詮コンピュータが扱えるのは有限の世界だからな。。。
無限集合はあきらめるのが得策か。。。
無限集合はあきらめるのが得策か。。。
22片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:40:46.61ID:nEGv2YJS 特性関数ってご存じですか?
2014/08/10(日) 23:44:53.13ID:x7G32Sd0
いや知らない。
ぐぐってみたけど確率論の用語?
ぐぐってみたけど確率論の用語?
24片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:51:55.05ID:nEGv2YJS 別名、集合の指示関数とか集合の定義関数とか言われる。
f(x)=0; x∈Xでないとき、
f(x)=1; x∈Xであるとき
を満たすfをXの特性関数という。
f(x)=0; x∈Xでないとき、
f(x)=1; x∈Xであるとき
を満たすfをXの特性関数という。
25片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/10(日) 23:55:18.56ID:nEGv2YJS この「集合の特性関数」を型にするといいんじゃね?
26片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/11(月) 00:01:36.05ID:vtRcS5Vo ∀x:any(x)=1.
∀x:none(x)=0.
var x:any.//全部
var y:none.//空集合
∀x:none(x)=0.
var x:any.//全部
var y:none.//空集合
2014/08/11(月) 00:02:37.88ID:7qJjistY
面白そうだけど、コンピュータでうまく扱えるかなぁ。
たとえば、ある集合が空集合かどうかさえ、コンピュータには決定できなかったりするよね?
特性関数を特性関数のまま扱えばうまくいくのかなぁ。
たとえば、ある集合が空集合かどうかさえ、コンピュータには決定できなかったりするよね?
特性関数を特性関数のまま扱えばうまくいくのかなぁ。
28片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/11(月) 00:11:32.04ID:vtRcS5Vo 区間演算って知ってる?
2014/08/11(月) 00:18:19.72ID:L9TxF9/y
>>1
Haskellでいいじゃん。
Haskellでいいじゃん。
301
2014/08/11(月) 00:30:59.49ID:7qJjistY31片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/11(月) 00:47:21.96ID:vtRcS5Vo 区間というのは数の集合だから、数の集合上の演算を
定義してやろうという話です。
定義してやろうという話です。
32片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/11(月) 00:53:40.33ID:vtRcS5Vo 集合の元は集合なのか? という問題が
2014/08/11(月) 02:06:52.68ID:TP2ds61a
34片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/08/11(月) 02:21:22.82ID:vtRcS5Vo 特性関数を使うとパラドックスはどうなるか。これ宿題。じっくり考えてね。
351
2014/08/11(月) 08:56:36.65ID:7qJjistY 集合を元とする集合は扱いたいな。
それすら扱えないんじゃ不自由すぎる。
正則の公理ってのでパラドックスは回避できるんじゃなかったっけ?
特性関数はそもそも定義域がよくわからんなぁ。
それすら扱えないんじゃ不自由すぎる。
正則の公理ってのでパラドックスは回避できるんじゃなかったっけ?
特性関数はそもそも定義域がよくわからんなぁ。
361
2014/08/11(月) 09:14:21.82ID:7qJjistY 内部的な実装はともかく、外部仕様としては整数も集合であらわすことにするかな。。。
0=φ
1={φ,{φ}}
2={φ,{φ},{φ,{φ}}
...
0=φ
1={φ,{φ}}
2={φ,{φ},{φ,{φ}}
...
2014/08/11(月) 09:18:20.93ID:GsgTpDMz
作れば?
壁にぶつかって悩む時間も含めて半年もあれば余裕だろ。
壁にぶつかって悩む時間も含めて半年もあれば余裕だろ。
381
2014/08/11(月) 09:32:02.64ID:7qJjistY いやいや、そんなに簡単じゃないからw
2014/08/11(月) 11:08:29.88ID:NzEjjfEw
>>1
Z
Z
2014/08/11(月) 13:27:34.36ID:PrWNpxUB
簡単じゃないって、1000時間あればさすがにできるだろう。何年もかけて洗練された言語というレベルの話をしているわけではないのだから。
つーか相談したいなら質問スレや雑談スレでやってほしいね。単発クソスレ立てるんじゃなくてさ。
考察や実装を報告したいならブログでね。
つーか相談したいなら質問スレや雑談スレでやってほしいね。単発クソスレ立てるんじゃなくてさ。
考察や実装を報告したいならブログでね。
2014/08/11(月) 14:11:41.44ID:msdQqOI/
面白そうだし別にいいじゃん
がんばれ
がんばれ
42デフォルトの名無しさん
2014/08/11(月) 14:42:29.95ID:clQwRFjU 結論出て実装終わったら起こして。
2014/08/11(月) 15:26:58.26ID:GsgTpDMz
441
2014/08/11(月) 17:03:12.57ID:7qJjistY 始めは全てを集合で表すつもりでいたけれど、現実的じゃないな。
やっぱタプルはタプル、リストはリストなんだよな。
無理やり集合で表現するのは無理がある。
全てのオブジェクトを集合にキャストできるってのなら
なんとかなりそう。
やっぱタプルはタプル、リストはリストなんだよな。
無理やり集合で表現するのは無理がある。
全てのオブジェクトを集合にキャストできるってのなら
なんとかなりそう。
2014/08/11(月) 20:48:03.17ID:7SpcZaRV
lispでええやん
461
2014/08/11(月) 20:53:25.27ID:7qJjistY lispもあんまり触ったことないな
そんなにいいの?
そんなにいいの?
2014/08/11(月) 21:11:11.02ID:GsgTpDMz
ありきたりな発想だから既存のものの問題点を知らないうちは
何を作っても新しいものは生まれない。
何を作っても新しいものは生まれない。
2014/08/11(月) 21:18:09.44ID:Z+2tOK2m
実数を集合であらわす原理を明らかにしないと意味ない。
デデキントカットで集合をもって実数を表せるけど、そんなの計算機でどうあらわすかね
デデキントカットで集合をもって実数を表せるけど、そんなの計算機でどうあらわすかね
491
2014/08/11(月) 21:31:46.30ID:7qJjistY2014/08/11(月) 21:33:16.67ID:GsgTpDMz
某スレでカルネージハートみたいなビジュアル言語を作りたいとか言ってた奴の方がなんぼか発想力がある。(5段階で3)
だが論理性や実装力は致命的に皆無にみえた。
俺はそれをどう構成すればいいか知っているが教える義理はない。
だが論理性や実装力は致命的に皆無にみえた。
俺はそれをどう構成すればいいか知っているが教える義理はない。
2014/08/11(月) 21:47:28.34ID:BJB2O+7J
>>45-46を見るとこりゃダメだってすぐわかる。
2014/08/11(月) 22:10:25.37ID:Z+2tOK2m
つまらんやつだな
2014/08/11(月) 23:35:56.32ID:Mn3XtQiS
2014/08/12(火) 12:26:24.53ID:oqHJt0pq
不勉強な上に
他人を当てにしてのスレ立て
万死に値する
他人を当てにしてのスレ立て
万死に値する
2014/08/12(火) 12:46:04.68ID:+sDF17YZ
2014/08/12(火) 13:45:33.28ID:KAheOZts
2014/08/12(火) 14:37:19.20ID:rgzvfb+p
いや、1が無知すぎて話にならないのが問題なんじゃ・・・
何度もネタ振りしてるってのに
何度もネタ振りしてるってのに
591
2014/08/12(火) 15:09:14.84ID:ey9Yf386 そもそも集合論に基づいた言語を作りたいってのは
数学のテクニックをプログラミングに持ち込めるかなと思ったからだけど、
案外、そうでもないのかもw
根底から意義が揺らいできたw
数学のテクニックをプログラミングに持ち込めるかなと思ったからだけど、
案外、そうでもないのかもw
根底から意義が揺らいできたw
2014/08/12(火) 15:38:39.73ID:rgzvfb+p
釣りか?釣りだよな
マジで言ってるのなら、計算機科学史を一からやり直してこい!
マジで言ってるのなら、計算機科学史を一からやり直してこい!
2014/08/12(火) 16:15:20.95ID:+sDF17YZ
621
2014/08/12(火) 18:29:00.33ID:ey9Yf386 教科書に載ってるような問題を教科書に載ってる定義のまま
インプリメントしたら面白いかなーと思ったんだけど。
集合をプリミティブ型にしてもインプリメントが
劇的に変わることはないかなーと思い始めた。
インプリメントしたら面白いかなーと思ったんだけど。
集合をプリミティブ型にしてもインプリメントが
劇的に変わることはないかなーと思い始めた。
2014/08/12(火) 20:06:53.08ID:8OBRChie
Coqでいいじゃん。
2014/08/12(火) 20:28:06.45ID:6TgmEYvj
二進数で自然に表現できるものを、わざわざペアノ算術から自然数の定義を頑張る意味がわからない
651
2014/08/12(火) 20:46:58.68ID:ey9Yf386 Coqって知らんなあ
証明支援言語?
それそんなにいいの?
証明支援言語?
それそんなにいいの?
2014/08/12(火) 21:18:32.69ID:6TgmEYvj
>>66
二進数は元が含まれるか否かの2択で決まるから、十分集合と二値論理に依っているがな
二進数は元が含まれるか否かの2択で決まるから、十分集合と二値論理に依っているがな
2014/08/13(水) 00:57:44.46ID:vN2Jb3VO
SQLでいいじゃないか
691
2014/08/13(水) 09:08:18.79ID:wV8mf1Ia SQLもそんなに詳しいわけじゃないが
SQLは違うくね?
SQLは違うくね?
2014/08/13(水) 09:44:32.05ID:EX+RHsS4
ggrks
2014/08/13(水) 11:13:17.12ID:dxftsD0h
2014/08/13(水) 11:15:46.15ID:dxftsD0h
「計算機なら集合の操作がやりやすいはず!」なんて話は別にどこにもないからな
計算機科学って「集合論的な操作をいかに計算機上で効率よく実装するか」ってものだから
そもそも >>1 の主張がおかしいんだよ。
計算機科学って「集合論的な操作をいかに計算機上で効率よく実装するか」ってものだから
そもそも >>1 の主張がおかしいんだよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場”★3 [♪♪♪★]
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★7 [お断り★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★4 [蚤の市★]
- プーチン公邸近くのエリート校でネトウヨ生徒(15)がロシアンジョーカー 生徒や教師に国籍を尋ねてまわり刃物で襲う 10歳生徒1人死亡 [377482965]
- 伊藤!
- 天パってキモいよね
- 【速報】高市早苗、文春砲wwwwwwwwwwwwwwwwwwwwwwwwwwwww [339035499]
- 俺ちいかわのキャラだとちいちゃんっぽいんだが
- 千晴って白目剥きながらウンコ早食いしてそうだよな?
