[過去ログ]
次世代言語12 Go Rust Swift Kotlin TypeScript (1002レス)
次世代言語12 Go Rust Swift Kotlin TypeScript http://mevius.5ch.net/test/read.cgi/tech/1530664695/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
105: デフォルトの名無しさん [sage] 2018/07/09(月) 11:52:20.80 ID:b/biyW6c >>103 後の引数のpredicateが前の引数を参照するためにはカリー化されてると都合がいい http://mevius.5ch.net/test/read.cgi/tech/1530664695/105
106: デフォルトの名無しさん [sage] 2018/07/09(月) 12:46:40.19 ID:KFrfmR/A >>104 C系の方が慣れてる人が多いでしょ?それだけである程度意味があると思うけど >>105 正直何言ってるかよくわからないんだけど、依存型とカリー化って別に関係ないんじゃないの? だって、依存型のあるATS2では関数宣言↓だけは何故かC(Golangっぽい?)シンタックスだよ fn test(x: double, y: double): double だから、ATS2はML族なのにカリー化しづらいよ http://mevius.5ch.net/test/read.cgi/tech/1530664695/106
107: デフォルトの名無しさん [sage] 2018/07/09(月) 13:29:20.22 ID:wsFssMnI >>106 型について研究してる畑の人ではML系の方が多数派だからね それは論理学数学から醸成されたのがML系だからってのもあるし、型についても扱いやすいシンタックスが既にあるML系とわざわざ型を扱うシンタックスを設計しなければいけないC系ベースどっちをまず採用するかってなったんじゃない? 知らんけど http://mevius.5ch.net/test/read.cgi/tech/1530664695/107
108: デフォルトの名無しさん [sage] 2018/07/09(月) 13:40:36.06 ID:XHrPXSC2 >>103 > 依存型がある言語はML族もしくはF#の軽量構文みたいなのが多いのはなんでなの? > C系のシンタックスだと何か不都合でもあるの? 依存型や本来の多相型(polymorphism)[†]などは型理論の体系つまり高階の型付λ計算に関する論理体系に基づくので プログラミング言語の型システムとして組み込む場合には同じくλ計算に基づくと関数プログラミング言語の枠組みとは親和性が良いが Cなどのように変数の値を書き換える代入文や代入演算を有する命令的プログラミング言語とは馴染まない。[‡] だからそれらの型システムを導入した言語は既存の関数プログラミング言語の構文を流用するケースが多いのだろう。 なおStandard ML/CAML/OCaml/F#などeager evaluationを評価ルールとするいわゆるML系の関数プログラミング言語の一群は ref型のように代入可能な変数を許すが、本格的な型理論に基づく型システムを組み込む場合はref型の類は除いたsublanguageに対して 行うのが普通。 [†]:本来の多相型とはGirardが竹内の基本予想に関する学位論文で最初に発見(あるいは発明)し Reynoldsが独立に再発見した型の全称化・抽象化やMilnerが発見したlet-polymorphismなどを指す。 オブジェクト指向での継承に伴って使われるようになった“polymorphism”は 定義が不明確で勝手な拡大解釈が多いので「本来の」という修飾句の対象範囲からは除く。 [‡]:代入操作(代入文と代入演算の総称)を含む命令的プログラミング言語 (Cなどの手続き的プログラミング言語やオブジェクト指向プログラミング言語を纏めてこう呼ぶ)に 例えば多相型が馴染まない理由は代入操作可能な変数の型として多相型を許すことは その変数について動的な型付けを許すことに他ならなくなる。 例で少し説明するが既知なら許してくれ。最も基本的な多相型 ∀t.t (どんな型でもOK)と宣言された変数 x を考える、つまり ∀t.t x; この変数はどんな型の変数としても使えるので、これにint型の値 1 は代入できる、 x = 1; この後で式の中でこの変数の値を参照すると int型の値 1 が許される文脈以外ではエラーになる。 即ち、型理論における本来の多相型つまり静的な型付けでの多相型の概念は代入可能な変数では失われるということだ。 http://mevius.5ch.net/test/read.cgi/tech/1530664695/108
109: デフォルトの名無しさん [sage] 2018/07/09(月) 15:02:11.35 ID:wwylxN3+ Cは関数()をカリー化しなかったが配列[]をカリー化した 2次元配列を1次元のように扱い、逆にスカラー (0次元) を1次元のように扱う Cには共用体もあるからML系に似ている部分は多かった http://mevius.5ch.net/test/read.cgi/tech/1530664695/109
110: デフォルトの名無しさん [sage] 2018/07/09(月) 16:22:10.83 ID:wwylxN3+ オリジナルのC/C++はもう実質的に依存型と同じものを既に使いこなしてるな 依存型がまだないという自称C系ってのは本当はJava系と名乗るべきだな http://mevius.5ch.net/test/read.cgi/tech/1530664695/110
111: デフォルトの名無しさん [sage] 2018/07/09(月) 16:59:58.68 ID:a+N+/6A7 >>106 こいつCのシンタックスじゃないって理由でPython嫌ってそうw http://mevius.5ch.net/test/read.cgi/tech/1530664695/111
112: デフォルトの名無しさん [sage] 2018/07/09(月) 17:03:28.03 ID:b/biyW6c >>106 カリー化されてると全部1引数の fun a -> aを使う(かもしれない)型 の形で済むだろ ATS2がどうしてるかは知らん http://mevius.5ch.net/test/read.cgi/tech/1530664695/112
113: デフォルトの名無しさん [sage] 2018/07/09(月) 18:16:53.67 ID:KFrfmR/A 別にC以外のシンタックスを嫌ってる訳じゃないよ(てか、なんでそういう風に受けとる…?) 普及を考えれば新規ユーザーのハードルを下げるためにも少しくらい相性が悪かろうが C系のシンタックスを採用した方が良いんじゃない?って思っただけ どれだけ理論が優れていようが結局のところ広く普及した言語の大半 (C/C++, Java, C#, JavaScript, PHP...etc.)はC系のシンタックス 勿論C系以外で普及した言語もある(Python, Ruby...etc.)けど…数はそれほど多くない Cのシンタックスを採用することに致命的な不都合があれば話は別だけど そうでなければ1つくらい依存型ありの言語でC系の言語があったって良いんじゃない? 優れた理論が使われてる言語がそんなしようもない理由で普及しなかったら勿体ないじゃん 普及させるためにはそういう些細な部分は妥協したらどうだ?と思ったわけ http://mevius.5ch.net/test/read.cgi/tech/1530664695/113
114: デフォルトの名無しさん [sage] 2018/07/09(月) 18:21:37.55 ID:xuxQDn++ ALGOL舐めてるわけ? http://mevius.5ch.net/test/read.cgi/tech/1530664695/114
115: デフォルトの名無しさん [sage] 2018/07/09(月) 18:22:24.25 ID:IyYxWzMk COBOL舐めてるわけ? Fortran舐めてるわけ? http://mevius.5ch.net/test/read.cgi/tech/1530664695/115
116: デフォルトの名無しさん [sage] 2018/07/09(月) 18:40:59.88 ID:EEzdGAQJ >>109 > Cは関数()をカリー化しなかったが配列[]をカリー化した 配列をカリー化の意味が分からんのだが http://mevius.5ch.net/test/read.cgi/tech/1530664695/116
117: デフォルトの名無しさん [sage] 2018/07/09(月) 18:41:02.84 ID:b/biyW6c まともな推論を入れようとしたら>>108みたいな理由で式ベースになるんだから C系に似せようとしたところで不格好で無駄に記述量も多いキメラができるだけだろ ところでBASIC舐めてるわけ? http://mevius.5ch.net/test/read.cgi/tech/1530664695/117
118: デフォルトの名無しさん [sage] 2018/07/09(月) 20:41:12.79 ID:wwylxN3+ >>116 C系は分かりにくいという証拠だ http://mevius.5ch.net/test/read.cgi/tech/1530664695/118
119: デフォルトの名無しさん [sage] 2018/07/09(月) 20:54:48.10 ID:XHrPXSC2 >>114 > ALGOL舐めてるわけ? AlgolとくにAlgol 60は実用性はともかく言語設計の観点からは非常に優れた言語だったが、命令的言語であるがゆえに型理論には馴染まない部分がある 今回の君のような内容ゼロの一言レスしてる暇があったら、ReynoldsやTennentの教科書・論文ぐらいは読んで勉強したらどうよ http://mevius.5ch.net/test/read.cgi/tech/1530664695/119
120: デフォルトの名無しさん [sage] 2018/07/09(月) 21:22:54.54 ID:KFrfmR/A >>117 そうか?式指向でC系のシンタックスっていったら真っ先にRustが頭に浮かんだが 別に不格好とも無駄に記述量が多いとも感じないが… そもそもC系の時点で何指向だろうが関数型と比べると記述量は少し多くなるものだし… C系を式指向にしたところでそんなに変になるところは無いと思うんだが 別に全部C系にしろって言ってる訳じゃないんだ 依存型ありの言語にも1, 2個くらいC系があっても良いのにっ思ってるだけで… http://mevius.5ch.net/test/read.cgi/tech/1530664695/120
121: デフォルトの名無しさん [sage] 2018/07/09(月) 21:40:53.57 ID:wwylxN3+ 現実は正しい 格付けの方が間違ってるんじゃねえか リーマンショックみたいに http://mevius.5ch.net/test/read.cgi/tech/1530664695/121
122: デフォルトの名無しさん [sage] 2018/07/09(月) 21:46:37.16 ID:U1rzq4XN あってもいいということはなくてもおかしくないという事だよ 言語設計者が依存型を普及させたいにしてもC系シンタックスを蛇蝎の如く嫌っている可能性だってある訳だ そうでない君が依存型+C系シンタックスが普及に必要だと思うならそれは正しく良い意味で言い出しっぺの法則だね http://mevius.5ch.net/test/read.cgi/tech/1530664695/122
123: デフォルトの名無しさん [sage] 2018/07/09(月) 21:56:18.25 ID:b/biyW6c >>120 rustは根っこのところは手続き型だからな もっと式ベースを徹底していったらC系文法なんてどんどん余計なものになってくよ http://mevius.5ch.net/test/read.cgi/tech/1530664695/123
124: デフォルトの名無しさん [sage] 2018/07/09(月) 22:16:18.81 ID:wwylxN3+ 式指向にしてブロックが値を返す ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する これSmalltalkとRubyでやったやつだ http://mevius.5ch.net/test/read.cgi/tech/1530664695/124
125: デフォルトの名無しさん [sage] 2018/07/10(火) 02:09:51.97 ID:PeZ34IEg >>124 >ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する 他のほぼ全ての言語もそうじゃね? http://mevius.5ch.net/test/read.cgi/tech/1530664695/125
126: デフォルトの名無しさん [sage] 2018/07/10(火) 06:52:59.20 ID:TRoApVCG やっとラムダが当たり前になったところだぞ 型理論の成果がプロダクト利用に広まるには時間がかかるんだよ http://mevius.5ch.net/test/read.cgi/tech/1530664695/126
127: デフォルトの名無しさん [sage] 2018/07/10(火) 08:08:34.60 ID:Iy+fy/d3 なんでJavaだけバージョンアップしなきゃだのセキュリティアップデートがどうの、大騒ぎしてんの? JavaScriptなんて毎日のように新しいsyntaxぶち込まれてるし、 Kotlinがここまでアプデに振り回されてるのはあまり聞いたことない気がする 他でここまでセキュホがギャースカ言われてるのって、ポンコツペチプァとWordPressくらいじゃね? Javaってそんな糞脆いの? http://mevius.5ch.net/test/read.cgi/tech/1530664695/127
128: デフォルトの名無しさん [sage] 2018/07/10(火) 08:21:31.28 ID:eM8UKooB >>108 詳しい人から見てF*ってどうなん?良さそう? http://mevius.5ch.net/test/read.cgi/tech/1530664695/128
129: デフォルトの名無しさん [sage] 2018/07/10(火) 08:36:07.00 ID:zIs1qZZm Fuck http://mevius.5ch.net/test/read.cgi/tech/1530664695/129
130: デフォルトの名無しさん [sage] 2018/07/10(火) 09:24:02.51 ID:xdf1qrhG BrainF*ck 略してF* http://mevius.5ch.net/test/read.cgi/tech/1530664695/130
131: デフォルトの名無しさん [sage] 2018/07/10(火) 09:24:32.49 ID:yvVWnyin >>127 エンプラで使われまくってるからわずかな変更にも大騒ぎするというだけ 履歴書がフォーマット通りじゃないとか、書類に印鑑がないとか、工場作業員の歩く幅が守られてないとか、そういうので騒ぐと同じ http://mevius.5ch.net/test/read.cgi/tech/1530664695/131
132: デフォルトの名無しさん [] 2018/07/10(火) 10:15:33.87 ID:kqKjfHzH javaというのは汲み取り式の便所みたいなもので、それに下水と近代的な便座を取り付けたのがkotlinだが、結局大便か小便かあるいはその両方をひり出す装置だということに気づかず、エレガントなクソの仕方について議論しているのが奴らだからな いきなり外に出ろと言われても、オラクルにオツムを履かせてもらわないと不安で仕方ないんだよ http://mevius.5ch.net/test/read.cgi/tech/1530664695/132
133: デフォルトの名無しさん [sage] 2018/07/10(火) 11:53:00.58 ID:xdf1qrhG オツムを履かせるとかいう新表現 http://mevius.5ch.net/test/read.cgi/tech/1530664695/133
134: デフォルトの名無しさん [sage] 2018/07/10(火) 12:01:54.29 ID:zIs1qZZm それだ!それが次世代言語だ! http://mevius.5ch.net/test/read.cgi/tech/1530664695/134
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 868 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s