おー、Typed Racket の car と first って型違うのかー。これだとリスト操作するときは first と rest 使った方がよさそうだな。
(-> (Listof a) a) の型を排除する作業をしていたおかげで気づいた。これはプログラミングのスタイルが変わってくるな。`car` `cdr` 原理主義から離れるきっかけになりそうだ。
おー、Typed Racket の car と first って型違うのかー。これだとリスト操作するときは first と rest 使った方がよさそうだな。
(-> (Listof a) a) の型を排除する作業をしていたおかげで気づいた。これはプログラミングのスタイルが変わってくるな。`car` `cdr` 原理主義から離れるきっかけになりそうだ。
具体的には car には (All (a b) (-> (Pairof a b) a)) って型が付いてるんだけど first には (All (a b) (-> (Pairof a (Listof b)) a)) っていうリスト操作を意識した型がついている。
これは first と rest を意図通りに使っている限りは気づかないやつだな。car の型と比べると first の型は狭くなっている。よって Typed Racket ではこの二つは同じものではないといえる。
senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.