トップ «前の日記(2022-04-06) 最新 次の日記(2022-04-15)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ToDo:


2022-04-13

_ duck typing

なんというか、そのうち list でも tuple でも ndarray でも良いみたいな感じになったあげく、そのくらいなら別に良いことも多いんだが、 data iterator みたいなのが来ると終わりですね、みたいなことになりがち。そしてそういう関数に str を渡したら破滅する

すごい generic なので dict でも list でも、それらの tuple でも受けれますよみたいな関数を作ると、まあそれも大混乱でたいてい考え忘れがある

duck typing そのものが悪いという気はしてないのだけど、関数 bar が foo を list を引数に呼んでるとして、新しく baz が str で foo を呼んでしまったエラーを見た時、「baz が str を foo に渡したのが悪い」と考えるより「foo が str もサポートしてないのがいけないし、サポートすると便利に違いない」と考える人が多い気がしていて、この現象にある程度機械的に待ったをかける手段として、 structual|nominal subtyping が良いみたいな気分になったりする

一方で reflection (具体的には isinstance と hasattr) が無い duck typing な言語があれば、それは割と機能する?みたいな気もする。つまり静的型は必須、と思ってたんだけど、動的型を問いあわせる手段が無ければ動的型でも割とコード書けたりするのかな?と思ったという話

(03:24)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え

2022年
4月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h