本当なら

take :: Int -> [a] -> Maybe [a]

とか

drop :: Int -> [a] -> Maybe [a]

とかになっていたほうがいい。

今の仕様だと知らないうちに嫌なバグを作り込みそうだ。

Reply to this note

Please Login to reply.

Discussion

この問題はheadとかtailが「部分関数」であるというよりもやっかいな問題だ。意図に反する動作がしれっと続いていくよりも、どかんと壊れてしまったほうがましなので。