(чтобы было просто Plus, а не Plus Proxy)
data BinOp
= Plus (Proxy "+")
| Sub (Proxy "-")
| Mul (Proxy "*")
| Div (Proxy "/")
я так и не понял по сообщениям, вопрос решился? Зачем тут эти прокси?
решился, просто чтобы крепить строки к конструкторам данных
ну на генериках можно достать название конструктора (ну или просто спромоутить если нужно)
мне надо было вместо названий предоставлять знаки, ну то есть вместо Plus ставить +
где? ну сделай инстанс на Num
data BinOp = Plus | Sub | Mul | Div просто_крепить_строки :: BinOp -> String просто_крепить_строки = \case Plus -> "+" Sub -> "-" Mul -> "*" Div -> "/"
да, именно так вопрос и решился
совершенно непонятно, зачем начинать с типомагии
практикую типомагию просто, вот и начал с нее
это очень важный скил в магии - не тратить ману по-напрасну
Обсуждают сегодня