本当なら
take :: Int -> [a] -> Maybe [a]
とか
drop :: Int -> [a] -> Maybe [a]
とかになっていたほうがいい。
今の仕様だと知らないうちに嫌なバグを作り込みそうだ。
Please Login to reply.
この問題はheadとかtailが「部分関数」であるというよりもやっかいな問題だ。意図に反する動作がしれっと続いていくよりも、どかんと壊れてしまったほうがましなので。