2015-05-13

http://anond.hatelabo.jp/20150513110244

うぜえ。

俺は毛の壁じゃねえし、こんなん関数型界隈じゃ常識だわ。

計算可能性の理論ラムダ計算Lispを産んだように、プログラム意味論圏論Haskellを産んだ。

プログラム意味論では変数の型が議論の最小単位で、関数プログラムはある型の変数を別の型の変数へ変換する変換器として記述される。

から本質的に、型が無いとプログラムという概念存在できないことになる。

で、このアカデミック議論が普段書くコードにどう影響を与えるかというと、実はほとんど影響がない。

もちろん知っていた方がよりエレガントなコードを書けるだろうが、必須ではない。

圏論を知っている必要があるのは、Haskell設計する人達だけだ。

下っ端はエリート様達が作った便利な道具を、細かい理屈抜きにしてありがたく使えればいい。

  • Haskellって後から圏論取り入れたんじゃなかった? あと、型の有無と動的・静的型付がごっちゃになってね?Rubyだって型に相当するものはあるじゃん?

    • もちろんRubyは静的型付け言語だよ。 「ある時はintっぽく振る舞い、別のある時はStringっぽく振る舞う、ぱっと見じゃ判断できないいい加減な型」の付いたな。 そこをいい加減に済ませ...

      • もちろんRubyは静的型付け言語だよ。 タイポ? ある時はintっぽく振る舞い、別のある時はStringっぽく振る舞う、ぱっと見じゃ判断できないいい加減な型 暗黙の型変換のこと? Rubyだ...

        • 暗黙の型変換を抜いた「型制約がストリクトな言語」って「ダック・タイピングを実装していない言語」って意味だと思うんやが。 それってプロジェクトレベルで型を厳密にするかしな...

  • 多分そこらへんって生まれの差なんだろうな。 ワイは業務からプログラミングに入ったから、プログラミング言語の設計思想を学ぶ機会なんぞ無かったし、今までもその必然性を感じる...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん