アノテーションを使った型の表現

「関数定義に java のアノテーションのような記法を使うことで, 引数の条件を記述できるんじゃないか?」というアイディアを発端とした, @PG_kura さんと @cocoatomo の一連の会話. 正直, まだ頭の中がまとまってないので, 曖昧な部分の多い会話になりました.
2
くっくっkura 🇯🇵🦀 @PG_kura

@cocoatomo アノテーションにすることで静的にエラーにできるケースが増えそう、ってことに気づきました。

2010-08-12 02:00:16
tomo🐧@learning @cocoatomo

@PG_kura 引数が複数の場合は python で上手く書けなかったのでごまかしてます... 確かにアノテーションがあるとコンパイル時に検出できるエラーが増えそうですね. @range どうしの計算とかの結果を @range で出せるといいのかも...妄想かな...

2010-08-12 02:08:12
tomo🐧@learning @cocoatomo

@PG_kura 関数アノテーションってのもあるので調べつつ行きます Now Browsing: Python 3.0 Hacks:第7回 関数アノテーションでスマートにプラスアルファの実現|gihyo.jp … 技術評論社 - http://tinyurl.com/cm5elv

2010-08-12 02:08:52
くっくっkura 🇯🇵🦀 @PG_kura

@cocoatomo こういう、int とか long とかの型に加えて具体的な制約を利用者に課す、とういう意味では、広義な「関数のインターフェイス」だと思うですよ。静的に解決すべきものと動的にチェックするものがあって、今は型と DbC がそれぞれ担当している感じだと思います。

2010-08-12 02:13:52
くっくっkura 🇯🇵🦀 @PG_kura

@cocoatomo まぁ、DbC といってもテスト駆動開発で代用している感もありますが。ただ静的と動的の境界をぼやかしてゆける、という意味ではアノテーションで静的チェックを兼ねられるのは良さそうですね。

2010-08-12 02:15:15
くっくっkura 🇯🇵🦀 @PG_kura

@kuramemo 「第7回 関数アノテーションでスマートにプラスアルファの実現」 http://gihyo.jp/dev/serial/01/pythonhacks/0007

2010-08-12 02:24:15