Почему чтение не может выводить правильный тип?

В Haskell я могу сделать значение Haskell из строки сread.

Prelude> read "1" + 3
4

я могу использоватьfst чтобы получить первый элемент

Prelude> fst (1,2)
1

Тем не менее, я получаю ошибку, когда я объединяюread а такжеfst чтобы получить первый элемент:

Prelude> fst (read "(1,2)")

<interactive>:20:6:
    Could not deduce (Read b0) arising from a use of ‘read’
    from the context (Read a)
      bound by the inferred type of it :: Read a => a
      at <interactive>:20:1-18
    The type variable ‘b0’ is ambiguous

В чем проблема?

Ответы на вопрос(1)

Ваш ответ на вопрос