[過去ログ] 次世代言語12 Go Rust Swift Kotlin TypeScript (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
117
(1): デフォルトの名無しさん [sage] 2018/07/09(月) 18:41:02.84 ID:b/biyW6c(3/4) AAS
まともな推論を入れようとしたら>>108
108(2): デフォルトの名無しさん [sage] 2018/07/09(月) 13:40:36.06 ID:XHrPXSC2(1/2) AAS
>>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 が許される文脈以外ではエラーになる。

即ち、型理論における本来の多相型つまり静的な型付けでの多相型の概念は代入可能な変数では失われるということだ。
みたいな理由で式ベースになるんだから
C系に似せようとしたところで不格好で無駄に記述量も多いキメラができるだけだろ

ところでBASIC舐めてるわけ?
154
(1): ◆QZaw55cn4c [sage] 2018/07/11(水) 22:16:20.84 ID:WXXvptbG(1) AAS
>>153
153(1): デフォルトの名無しさん [sage] 2018/07/11(水) 22:08:04.55 ID:JQcRgwrO(1/2) AAS
ほんまに計算科学の次世代言語欲しいわ
Fortranさん仕様は悪く無いのにprint文書くだけで周りの計算結果変わったりしてコンパイラがガバガバすぎる
それはバグっているだけだと思いますが
515: デフォルトの名無しさん [sage] 2018/07/31(火) 12:35:27.84 ID:Y+ETzapn(1) AAS
F#使いも生きてるぞ
839
(1): デフォルトの名無しさん [] 2018/08/15(水) 07:25:16.84 ID:1RF925rl(1) AAS
ヒープを使わないのは可能
ヒープを使うときはBoxに入れるので宣言的
904: デフォルトの名無しさん [sage] 2018/08/17(金) 08:07:51.84 ID:3R/NRIs6(2/2) AAS
コンパイルと言えばTypeScriptってめっちゃエラー出てるのにちゃんとjsファイル生成されるのには笑う
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.049s