1
я следующие данныезаявление Странный случай в Haskell
data A = C1 String | A :@: A
deriving(Show)
app inp = case inp of
a1 :@: a2 -> (C1 "a") :@: (C1 "b")
_ -> C1 "c"
Почему дело вернуть ввод вместо (C1 "a") :@: (C1 "b")
?
*Test> app (C1 "c") :@: (C1 "d")
C1 "c" :@: C1 "d"
работает нормально, если я изменю A :@: A
к C2 A A