Arr2 e1 e2 a = Arr2 { getArr2 :: e1 -> e2 -> a }
GHCi> getArr2 (fmap length (Arr2 take)) 10 "abc"
3
—-
Решение:
̶i̶n̶s̶t̶a̶n̶c̶e̶ ̶F̶u̶n̶c̶t̶o̶r̶ ̶(̶A̶r̶r̶2̶ ̶e̶1̶ ̶e̶2̶)̶ ̶w̶h̶e̶r̶e̶
̶ ̶ ̶f̶m̶a̶p̶ ̶f̶ ̶(̶A̶r̶r̶2̶ ̶e̶1̶ ̶e̶2̶)̶ ̶=̶ ̶A̶r̶r̶2̶ ̶(̶f̶ ̶.̶ ̶e̶1̶ ̶$̶ ̶e̶2̶)̶
компилятор посылает:
main.hs:5:11: error:
• The constructor ‘Arr2’ should have 1 argument, but has been given 2
• In the pattern: Arr2 e1 e2
In an equation for ‘fmap’: fmap f (Arr2 e1 e2) = Arr2 (f . e1 $ e2)
In the instance declaration for ‘Functor (Arr2 e1 e2)’
чяднт?
ну если смотреть на ошибку, то вроде у меня 1 параметр
дайте пинок, куда решать, я что-то час думал и ни к чему хорошему не пришел, спасибо
Обсуждают сегодня