currently, Ctrl-c, Ctrl-d and other errors will cause `ic_readline` return NULL, how can we treat Ctrl-c differently when calling from Haskell?