Mam takie dwie funkcje:
(defn square [x]
(fn [x] (* x x))
)
(defn increment [y]
(fn [y] (+ y 1))
)
(def compose (square increment))
Chciałbym je połączyć w jedno. Mam z tym problem, jeśli wywołam (compose 4), to 4 zostanie podniesione do kwadratu i to wszystko, a chodzi o to, aby najpierw zostało podniesione o 1 (czyli wywołanie increment na 4) i dopiero wtedy dokonana funkcja square. Jeśli zamienię je miejscami, czyli najpierw umieszczę increment, a potem square, to wtedy przy wywołaniu wartość zostaje tylko podniesiona o 1 (zgodnie z tym, co robi funkcja increment). Jak połączyć to razem?