и есть по крайней мере 5 подхода, которые описываются здесь:
1. Непосредственно прописать 2 параметра в определении композиции
fn4 :: A -> B -> D
fn4 a b = fn2 (fn1 a b)
2. Использывать пакет PointFree
import PointFree ((..>))
fn1 :: A -> B -> C
fn2 :: C -> D
fn4 :: A -> B -> D
fn4 = fn1 ..> fn2
3. Можно использыват uncurry
4. Исользывать ламбда (что я делаю сейчас)
5. Использывать Compose функцию
Какой подход рекомендован сейчас?
Ну просто fn4 = fn2 . fn1
foldr (.) id [f2, f1]
а можно тогда конкретнее, а то меня тайп чекер не ругает
4. \a b -> f (g a b) все остальное кажется строго хуже
https://hackage.haskell.org/package/universum-1.8.2/docs/Universum-VarArg.html#v:...
> Universe строго хуже
я бы делал 1 или 4
Обсуждают сегодня