Вам нужно указать, какой тип вы хотите вернуть, например:
decode "[1,2,3]" :: Result [Integer]
-- Ok [1,2,3]
Если бы эта строка была частью более крупной программы, в которой вы бы продолжили и использовали результат decode
,Тип может быть просто выведен, но поскольку ghci не знает, какой тип вам нужен, он не может определить его.
По той же причине, почему read "[1,2,3]"
не работает без аннотации типа или дополнительного контекста.