Попробуйте сделать:
Prelude> reads "7a7" :: [(Int, String)]
[(7,"a7")]
Prelude> reads "7e7" :: [(Int, String)]
[]
Я тестировал это для всех возможных символов посередине. Все они работают, за исключением 'e'
. Кажется, что Haskell пытается интерпретировать число в научной нотации, но это невозможно, потому что я прошу Int
.
Мне кажется, что это ошибка.