Почему я получаю сообщение об ошибке при попытке "прочитать" это значение?
Код.hs:
data Person = Person { firstName :: String
, lastName :: String
, age :: Int
} deriving (Eq, Show, Read)
Компиляция:
*Main> :load "/home/optimight/baby.hs"
[1 of 1] Compiling Main ( /home/optimight/baby.hs, interpreted )
Ok, modules loaded: Main.
Во время тестирования сразу после компиляции:
*Main> read "Person {firstName = \"Michael\", lastName \"Diamond\", age = 43}" :: Person
*** Exception: Prelude.read: no parse
Пожалуйста, руководство. Почему эта ошибка происходит и как избежать таких ошибок?
1 ответ
Решение
lastName \"Diamond\"
отсутствует знак равенства.
read "Person {firstName = \"Michael\", lastName = \"Diamond\", age = 43}" :: Person