タグ

functionalとtype-systemに関するnsyeeのブックマーク (7)

  • 静的型と OO というものははじめから… - camlspotter’s blog

    OO の方面から、「静的型とか別に役に立つとは思えない、静的型の人は頭おかしい」 とか関数型の方面から、「静的型が役に立たないなんてはずない OO の人は頭おかしい」 とか良く聞こえてくるんですが、ダックタイピング心理学 とかいう真に頭おかしい意見を無視できるとすると(無視できない量あるんですが)、まあ私にはどっちもわからんでもない、という話です。 型をゴミ箱に捨てておいてから、後でゴミ箱を漁るなら、型なんかいらない オブジェクトの静的型システムを大雑把にいうとまず upcast と downcast があります。 upcast はオブジェクトの静的型をそれが属するクラスからそのスーパークラスにを変えちまうこと、downcast はその逆、オブジェクトの静的型をそれが属するクラスから子クラスに変えちまうことです。サブクラスの物はスーパークラスとしても通用するはずですから upcast は失

    静的型と OO というものははじめから… - camlspotter’s blog
  • 数学初心者のための「型システム入門」入門 - 廻る技術の覗き穴

    社内で「TaPLで殴りあう会*1」が開催されるというので、型システム入門(通称TaPL: Types and Programming Languages)を購入したものの、内容が難しくて序盤からまったくと言っていいほど読み進めることができませんでした。 型システム入門 −プログラミング言語と型の理論− 作者: Benjamin C. Pierce,住井英二郎,遠藤侑介,酒井政裕,今井敬吾,黒木裕介,今井宜洋,才川隆文,今井健男出版社/メーカー: オーム社発売日: 2013/03/26メディア: 単行(ソフトカバー) クリック: 68回この商品を含むブログ (7件) を見る しかし、読めないままにしておくのは悔しいし、内容はとても面白そうなので、やはりちゃんと読めるようになりたい。 そこで基礎的な書籍とWebで情報収集してから再度挑戦したところ、なんとか読み進められるようになりました。 監

    数学初心者のための「型システム入門」入門 - 廻る技術の覗き穴
  • 型システム入門 プログラミング言語と型の理論 | オーム社eStore(β)

    型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。

  • コンパイルは(テストではなく)証明である - あどけない話

    「プログラムのテストはバグの存在を示すことにかけてはとても効率的な方法ですが、バグの不在を示すことにかけては絶望的なほどに不適切です。プログラムの信頼性を顕著に向上させる唯一の方法は、その正当性に対して説得力のある証明を与えることです」 -- Edsger W. Dijkstra 静的型付き言語では、コンパイル時に型が検査される。この型検査に関連して型推論という機能を持つ言語がある。型推論は、大きく分けて2つの意味で使われているようだ。 命令型言語の多くに見られる型推論:型検査の過程で、省略された型を補うこと 関数型言語の多くに見られる型推論:未知の型を変数として方程式を立て、方程式を解いて未知の型を求めること。型推論自体が型検査の役割を果たす この記事では、後者の型推論を話題にする。 静的型付き関数型言語の利点として、よく「コンパイルはテストである」という説明がなされる。プログラムは式で

    コンパイルは(テストではなく)証明である - あどけない話
  • 静的型付き言語プログラマから見た動的型付き言語 - あどけない話

    およそ20年前にAlan Kay の講演をきいたことがある。印象に残ったのは、彼が引き合いに出した McLuhan の言葉だ。 I don't know who discovered water, but it wasn't a fish. (拙訳)誰が水を発見したかは知らないが、発見者が魚でなかったことは確かだ。 誰しも信念という水の中を泳ぐ魚のような存在だ。思い切って飛び跳ね空気に触れてみなれば、自分が信念という水の中にいることに気付かない。 ある手法の利点を語るには、その手法の欠点や、他の手法の利点や欠点とできるだけ客観的に比較しなければ説得力がない。ただ、これを実践するのは難しい。この記事では、客観的になれているか自問自答しながら、動的型付き言語と静的型付き言語について比較してみようと思う。 僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在で

    静的型付き言語プログラマから見た動的型付き言語 - あどけない話
  • 型理論・型システムの定番の入門書「TAPL」の日本語版が発行されるぞ - Route 477

    ■ [book][prog] 型理論・型システムの定番の入門書「TAPL」の日語版が発行されるぞ Types And Programming Languages、通称TAPLの日語版が発行される。 発売日は今月26日なのだが、すでにTwitter(の一部)で話題になって いたり、発売記念トークショーが予定されていたり(予約受付中)、あげくAmazonランキングでニンジャスレイヤー4巻と並んだりと、専門書の発売とは思えない盛り上がりを見せている。 4274069117 TAPLといえば、大学のソフトウェア関係の研究室で輪講の題材として使われたりする、型理論の定番の入門書だ。 型理論(Type Theory)とは、静的型付け言語、特にHaskellやOCamlといった関数型言語の型チェックや型推論の基礎になっている理論だ。関数型言語に興味のある人なら、目次の中の「ラムダ計算」「多相型」「

    型理論・型システムの定番の入門書「TAPL」の日本語版が発行されるぞ - Route 477
  • bitbucketの使い方

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    bitbucketの使い方
    nsyee
    nsyee 2011/11/14
  • 1