以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論
Based on a short graduate course on typed lambda-calculus given at the Université Paris VII in the autumn term of 1986-7. Published by Cambridge University Press (Cambridge Tracts in Theoretical Computer Science, 7), ISBN 0 521 37181 3; first published 1989, reprinted with corrections 1990. Here is the story of how the translation came about: Jean-Yves had mentioned the notes to Paul at a conferen
ついでに追加。 型推論:変数や式の型をプログラマが宣言しなくても、言語処理系が文脈から推論してくれる機構。MLとかHaskellとか。 型検査:変数や式の型が合っていることを言語処理系が(普通は静的に)チェックしてくれる機構。CとかJavaとか、MLやHaskellも。 静的な型つけ:プログラムの実行前に型を検査する機構。MLとかHaskellとかCとかJavaとか。 動的な型つけ:プログラムの実行中に型を検査する機構。LispとかSchemeとかPerlとか。 強い型つけ:検査を通れば、安全さ(safety)が保証される、という(普通は静的な)型つけ。MLとかHaskellとかJavaとか。Javaはバグがあったりしたので少し怪しいですが。 弱い型つけ:検査を通っても、安全さ(safety)は保証されない、という型つけ。CとかPascalとか。 安全さ(safety):プログラムが言語仕
ちょっと面白かったので紹介する。 C++ Standard Core Language Defect Reports: issue 1122 The return type of the sizeof operator is defined as being of type std::size_t, defined in library clause 18.2 [support.types]. This, in turn, says that size_t is defined in the C standard, which in turn says that size_t is defined as the type of the result of the sizeof operator! sizeof演算子の戻り値の型は、std::size_t型であるとされている。std::siz
あいさつ>ω< みなさん、お久しぶりです、月影です>ω< 「いつかブログを書こう」と思っていたら、なんと一週間もたってしまいました(゚д゚)! 「いつか」なんて考えていちゃいけませんね、「今でしょ!」の精神でいかなくちゃです>ω< というわけで、今回はPhantom Typeについてのお話です>ω< Phantom Typeってなんです(・ω・? Phantom Type…、幽霊型… みなさん、ご存知でしょうか(・ω・? わたしは昔に何度かTwitterで見かけたので、名前だけは知っていました(`・ω・´) かっこいい名前だな―って感じです>ω< ファントム・タイプ!!! で、ちょっと面白そうな香りがしたので調べてみましたのです>ω< Phantom Typeさん、名前は仰々しいですが、その実態は非常に単純なものでした>ω< Phantom Typeとはつまり、こういうことです>ω< え(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く