В Haskell следующее выдает «hello»: putStrLn (['h', 'e', 'l', 'l', 'o'])
, однако это приводит к ошибке компиляции в Idris:
48 | main = do
| ~~ ...
When checking right hand side of main with expected type
IO ()
When checking an application of function Prelude.Interactive.putStrLn:
Can't disambiguate since no name has a suitable type:
Prelude.List.::, Prelude.Stream.::
Я подозреваю, что это потому, что String
встроен в Idris, а не в Haskell. Тем не менее, может ли класс типов использоваться в Idris для обработки List Char
как экземпляра String
(были String
классом типа)?