вы получаете сообщение об ошибке, так как Idris хотел бы узнать, какой тип a
(или, скорее, [], когда вы вызываете функцию в REPL. Вы можете указать эту неявную информацию следующим образом:
contrived {a = Nat} ([], 'b', (1, 2.0), "hi" , True)
> False
Или вот так:
contrived (the (List Nat) [], 'b', (1, 2.0), "hi" , True)
> False
В true
программе, которая не требуется:
EmptyList: List Nat
EmptyList = []
testCase: contrived (EmptyList, 'b', (1, 2.0), "hi", True) = False
testCase = Refl