Use Haskeline instead of getline for cursor interaction and history