Ну и зря. Это же чистая алгебра; и полно автоматических средств для "туда-сюда":
> pl \x y -> x + 1
const . (1 +)
> unpl const . (1 +)
(\ e _ -> 1 + e)
> pl \v1 v2 -> sum (zipWith (*) v1 v2)
(sum .) . zipWith (*)
> unpl (sum .) . zipWith (*)
(\ d g -> sum (zipWith (*) d g))
> pl \x y z -> f (g x y z)
((f .) .) . g
> unpl ((f .) .) . g
(\ e j m -> f (g e j m))
> pl \x y z -> f (g x y) z
(f .) . g
> unpl (f .) . g
(\ d i -> f (g d i))
Можешь вделать в IDE "преобразовальщик под предпочтительный вид", если есть нужда ;-)
no subject
Это же чистая алгебра; и полно автоматических средств для "туда-сюда":
Можешь вделать в IDE "преобразовальщик под предпочтительный вид", если есть нужда ;-)