Skład F i G, który wygląda jakWspólny wzór udziałem składu funkcji ( A B -> f (G) (g b))
f :. g = \a b -> f (g a) (g b)
jest wzór znajdę bardzo często w moim kodu. Jest podobny do jednofunkcyjnego składu funkcji, tylko f
jest binarny i chcę g
zastosować do obu argumentów, zanim zostaną one przekazane do f
.
Kiedy pytam lambdabot przekonwertować to do punktowego postaci wolnej, otrzymuję dziwne zaklęcie
których wolałbym nie mieć w moim kodu, więc skończę tylko wypisywanie wzór wyraźnie .
Czy istnieje powszechnie akceptowany sposób pisania kombinator dla tej sytuacji? A może dziwię się, że znalazłem się w tej sytuacji całkiem sporo?
Nie mam konkretnego przykładu, kiedy używam tego w tej chwili, ponieważ nigdy nie myślałem o tym tutaj, kiedy go potrzebowałem, ale można sobie wyobrazić, że bardzo dokładnie pisałem formułę odległości euklidesowej, tak:
distance = sqrt . (+) :. (^2)
'flip' może być wyeliminowana:' (g.). f. g' –