Size: a a a

2021 March 22

E

Elijah in Haskell Start
можно, но он довольно слабо увеличивает читаемость
источник

E

Elijah in Haskell Start
ну немного увеличивает
источник

YS

Yan Shkurinskiy in Haskell Start
Ну тут мало что увеличит читаемость
источник

YS

Yan Shkurinskiy in Haskell Start
Упростить проще простого сложно
источник

YS

Yan Shkurinskiy in Haskell Start
Кмк
источник

E

Elijah in Haskell Start
@cblp_su если вам знакома книжка и пример, то может быть вы знаете что не так c вот этим вот:
fightOneRound robotA robotB = (robotA', robotB')
  where robotA' = fight robotA robotB
        robotB' = fight robotB robotA
источник

E

Elijah in Haskell Start
т.к. если бы не задание написать подобную функцию, я бы не полез в сигнатуры
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
@cblp_su если вам знакома книжка и пример, то может быть вы знаете что не так c вот этим вот:
fightOneRound robotA robotB = (robotA', robotB')
  where robotA' = fight robotA robotB
        robotB' = fight robotB robotA
да всё норм, если RankNTypes включить или сигнатуры не писать
источник

E

Elijah in Haskell Start
я изначально не писал сигнатуры и получал довольно объемное полотно ошибок
источник

YS

Yan Shkurinskiy in Haskell Start
Сигнатуры часто лучше писать
источник

YS

Yan Shkurinskiy in Haskell Start
Кмк
источник

YS

Yan Shkurinskiy in Haskell Start
Чем не писать
источник

YS

Yan Shkurinskiy in Haskell Start
По крайней мере - на топлевеле
источник

E

Elijah in Haskell Start
Occurs check: cannot construct the infinite type и много всякого
источник

JS

Jerzy Syrowiecki in Haskell Start
Yan Shkurinskiy
robot :: forall a . (String, Int, Int) -> ((String, Int, Int) -> a) -> a

вот так оно выглядит, если явно forall сделать
вот для этого сделать синоним, и будет норм
источник

YS

Yan Shkurinskiy in Haskell Start
Jerzy Syrowiecki
вот для этого сделать синоним, и будет норм
Ну да
источник

YS

Yan Shkurinskiy in Haskell Start
Но это не то, что хотел вопрошающий)
источник

YS

Yan Shkurinskiy in Haskell Start
Как мне показалось
источник

JS

Jerzy Syrowiecki in Haskell Start
с forall внутри синонима — это как раз то, с чего начался вопрос
источник

JS

Jerzy Syrowiecki in Haskell Start
у меня эта задача решилась с помощью type Robot = forall a. ((String, Integer, Integer) -> a) -> a
источник